我有一个班级:
class Foo{
var x:Long = 10
set(value) {if( value < 0 ) throw IllegalArgumentException("error"); field=value}
}
是否有可能以更优雅的方式验证这些值?例如 - 我想要这样的东西:
class Foo( @Positive var x: Long) {
}
有可能吗?我希望它是轻量级的 - 没有反射,只需检查定居者。有什么建议?
答案 0 :(得分:0)
也许我有点晚了。您可以使用 Result 库的 Konad 类。验证成功时返回 Result.Ok,失败时返回 Result.Errors。 当您需要组合多个验证结果时,它还带来了一个简单的 API。请参阅 usage example 部分。对于您的情况,您可以这样做:
number flag_new flag_math new_col
0 1 True True 1
1 2 False True 0
2 3 True False -1