У меня есть класс 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
?) - Кто-нибудь знает лучший способ сделать это?
(Я понял это частично, но я застрял в квадратных скобках, потому что []
вызывает новый метод для отсутствующего метода ...)