动态地向ruby中的变量添加约束



我希望动态地添加约束到ruby中的变量。我正在从一个文件中读取一个基本的类规范,它定义了类名、属性和关于属性的任何约束。例如,它可能是:

Class: Car
Attributes: model, String
Attributes: price, Fixnum
Constraint: model, model != nil
Constraint: price, price > 0

所以我写了下面这行来创建类和属性的attr_accessors:-

eval('class ClassName;  attr_accessor:var_1; def test() puts "Test class"; end   end')

但是有人对添加约束有什么建议吗?我不确定是否而不是attr_accessors它会更好有完整的getter/setter方法的约束可以追加到?

编辑:应该添加真正的新ruby和自学,所以请纠正任何愚蠢的错误或坏的想法

我为您的需要编写了一个非常未经修饰的gem: class_builder。它不安全(容易受到代码注入的攻击),而且可能有bug,我不会维护它。给你一些启示。

请参考测试查看其用法

相关内容

  • 没有找到相关文章

最新更新