В Ruby у нас есть 2 метода для получения/установки переменных экземпляра - instance_variable_get
и instance_variable_set
. Кроме того, в некоторых случаях это хорошая практика, чтобы memoize переменного экземпляра:Динамическая ленивая переменная memoization
@foo ||= 'bar'
Таким образом, я пытаюсь объединить эти 2 функции, так как мне нужно динамические переменные экземпляр имена:
iv = :@foo
instance_variable_set(iv, 'bar') unless instance_variable_get(iv)
Я не уверен, но есть ли более элегантный способ написать это?