Я бы хотел сделать что-то подобное в ruby:
safe_variable = begin
potentially_nil_variable.foo
rescue
some_other_safe_value
end
... и обрабатывать блок исключения (начало / спасение / конец) как функцию / блок. Это не работает, как написано, но есть ли способ получить аналогичный результат?
NB, что я на самом деле делаю, это то, что работает, но IMO уродливо:
begin
safe_variable = potentially_nil_variable.foo
rescue
safe_variable = some_other_safe_value
end
UPDATE
Полагаю, у меня загадочный случай с синтаксисом ruby. Что я на самом деле делал, так это:
object_safe = begin potentially_nil_variable.foo
rescue ""
end
Ошибка была class or module required for rescue clause
. Возможно, он подумал, что ""
должен был быть заполнителем для результата исключения.