定义类对象验证

时间:2016-12-22 20:21:15

标签: crystal-lang

是否有本机方法为Crystal对象定义验证? 我们来考虑这个课程:

if age < 18

如何添加简单验证Person.new(10) >> Error: attibute 'age' should be greater than 18 ? 例如:

loginusern()

我看到第三方库正在执行此操作,但我想避免添加依赖项。

1 个答案:

答案 0 :(得分:3)

没有自动化的方法来实现运行时验证,但有一种惯用的方法:

def initialize(@age)
  raise ArgumentError.new("age must be 18 or more") if @age < 18
end