Я хочу использовать пользовательский установщик для форматирования моих полей. В irb, если я проверю сеттер, как:
o.field_name = "4"
Я вижу, что мой пользовательский установщик упоминается. Но с этим это не так:
o[:field_name] = "4"
Я понимаю, что в первом случае это вызов функции, а во втором случае мы просто устанавливаем атрибут напрямую. Но я не совсем понимаю, как можно установить атрибут без прохождения через наш пользовательский установщик, я подумал, что в этом суть.
Но мой главный вопрос в том, что если var содержит мое field_name, я не вижу, как динамически обращаться к a.var и интерпретировать его как a.field_name. Все, что я вижу, это [var], и это обходит моего сеттера.