【发布时间】:2012-09-24 14:54:30
【问题描述】:
我正在尝试创建一个混合模块 Parser,它将允许我执行以下操作:
class MyParser
include Parser
field :my_field, 1, 10
field :my_other_field, 11, 15
end
m = MyParser.new("1234567890abcde")
m.my_field # - > "1234567890"
m.my_other_field # -> "abcde"
我是 ruby 元编程的新手
这是我的问题? 我需要为每个包含 Parser 的类创建一个 @fields 数组,我该怎么做
我想要一个可以向@fields 数组添加新字段的字段类方法,如何从class_method 访问实例变量?
我怎样才能让 MyParser.new 方法按描述工作?
谢谢
【问题讨论】:
标签: ruby metaprogramming