Enforce Bounded Nat?

点点圈 提交于 2019-12-02 12:32:40

You can use the type class LTEq (or LT if you want strictly less than).

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
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!