验证 BinData::初始化时的记录



有没有办法在初始化期间验证在 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"上进行读取,但它抛出了一些其他错误,可能是因为对象没有完全实例化。

编写一个def initialize方法。然后将验证放入其中。初始化在对象实例化上运行,因此必须进行检查。

相关内容

  • 没有找到相关文章

最新更新