Я хотел бы знать, какой элемент находится в пустом массиве.Что находится в пустом массиве?
Я понимаю, что вызов each
на Array
с блоком будет итерировать, хотя все элементы в Array
и оценить блок.
Но вот где я запутаться:
[].each { |e| puts e }
=> []
[].each { |e| puts e.random_method }
=> []
кажется, что я могу вызвать любой метод на e
в each
блоке, а консоль рубин всегда будет возвращать []
. Если e
были nil
, не должен ли он поднимать недостающую ошибку метода? Любые объяснения?
Это поднимет отсутствующий метод ошибка только тогда, когда массив содержит любой элемент. В вашем примере вызов 'puts e.random_method' никогда не достигается. – backpackerhh
Как «Если' e' были «нил», относящиеся к вашему вопросу? – sawa