Ответ 1
Возвращает новый массив
Если вы хотите вернуть массив с верхним регистром, используйте #map:
array = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
# Return the uppercased version.
array.map(&:upcase)
=> ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"]
# Return the original, unmodified array.
array
=> ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
Как вы можете видеть, исходный массив не изменяется, но вы можете использовать возвращаемое верхнее значение из #map везде, где вы можете использовать выражение.
Обновить массив на месте
Если вы хотите загладить массив на месте, используйте #map!:
array = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
array.map!(&:upcase)
array
=> ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"]