Если вы хотите добавить "bar"
, когда foo
еще не определено:
foo ||= ["bar"]
, если вы хотите добавить "bar"
независимо от того, существует ли foo
:
(defined? foo) ? foo << "bar" : foo = ["bar"]
Однако в последнем случае я лично предпочитаю способ написания исходного кода. Конечно, это можно сделать в одну строку, но я думаю, что двухстрочная реализация более читабельна.