Я понимаю, что операторы if
в конце строки оцениваются перед кодом в начале строки:
'never shown' if (false)
И назначение возможно в инструкции if
.
'shown' if (value = 'dave is king')
value #=> "dave is king"
И, когда назначается переменная, которой не существует, она создается. Нет необходимости в том, чтобы он существовал заранее. Это правда?
Если все эти предположения верны, почему это не удается?
error_array << error if (error = import_value(value))
#=> undefined local variable or method `error' for
Ему присваивается ошибка до того, как массив нажат вправо? Я хочу понять, когда все оценивается.
Это работает:
if (error = import_value(value))
error_array << error
end
Теперь я действительно смущен.