有没有一种方法可以在初始化期间验证BinData::Record上设置的字段?每个参数的check_value似乎仅在从输入流中读取后才进行计算
class Foo < BinData::Record
uint8 :bar,:check_value=>lambda{raise 'Here is an error'}
end
Foo.new(:bar=>5) #Does not raise validation exception我尝试添加一个'initialize_instance‘,它对'to_binary_s’进行读取,但它抛出了一些其他错误,可能是因为对象没有完全实例化。
发布于 2012-06-01 20:19:56
编写def initialize方法。然后将验证放入其中。初始化是在对象实例化上运行的,因此必须进行检查。
https://stackoverflow.com/questions/10849704
复制相似问题