Я написал следующий код Ruby
array1 << item if item = prepare_item
prepare_item - это метод, который либо возвращает объект, либо nil array1 - это массив объектов.
Однако приведенный выше код не работалЯ думаю, что возникло какое-то исключение.
Следующее переписывание сработало
if item = prepare_item
array1 << item
end
Итак, мой вопрос: не могли бы вы объяснить, чем отличаются 2 приведенных выше фрагмента кода?Что не так с первым фрагментом?