Ответ 1
array = []
- это ярлык для определения объекта массива (длинная форма: array = Array.new
)
Array#collect
(и Array#map
) возвращает новый массив на основе кода, переданного в блоке. Array#each
выполняет операцию (определенную блоком) для каждого элемента массива.
Я бы использовал такой сбор:
array = [1, 2, 3]
array2 = array.collect {|val| val + 1}
array.inspect # => "[1, 2, 3]"
array2.inspect # => "[2, 3, 4]"
И каждый такой:
array = [1, 2, 3]
array.each {|val| puts val + 1 }
# >> 2
# >> 3
# >> 4
array.inspect # => "[1, 2, 3]"
Надеюсь, что это поможет...