【发布时间】:2009-06-15 16:16:37
【问题描述】:
我有一个类Foo,它有几种方法,如button_0_0、button_0_1、button_0_2、button_1_0等。
我希望能够通过以下语法交替访问这些:
foo.button[0][1]
foo.button[1][2]
# etc.
我知道我可以创建一个 @button 实例变量并遍历所有 button_* 访问器并以这种方式添加它们,但这似乎有点笨拙,并没有真正遵循做事的“红宝石方式” .
我想知道是否有更简洁的 Rubyish 解决方案来解决这个问题(也许使用 method_missing?)——有谁知道更好的方法吗?
(我已经想通了一半,但我卡在方括号中,因为[] 在缺少的方法上调用了一个新方法...)
【问题讨论】:
标签: ruby method-missing