是否可以创建受限制的Int(例如PositiveInt)并对其进行编译时检查?换句话说,可以定义一种方法,例如:

def myMethod(x: PositiveInt) = x + 1

然后有类似:
myMethod(-5) // does not compile
myMethod(0)  // does not compile
myMethod(5)  // compiles

如果可能的话,我应该如何开始定义PositiveInt,我的意思是Scala中有一种方便的技术吗?

最佳答案

这种事情称为dependent typing,不,它在Scala中不可用。

10-08 00:37