您可以使用类型类LTEq
(或LT
,如果您想要严格小于)。
import shapeless.nat._
import shapeless.ops.nat._
def lessThan5[N <: Nat](n: N)(implicit ev: LTEq[N, _5]) = ???
lessThan5(_4) // compiles
lessThan5(_5) // compiles
lessThan5(_6) // doesn't compile because LTEq[_6, _5] cannot be found