如何在迭代时修改数组的元素

时间:2017-10-07 12:26:21

标签: ruby

我在Ruby ["eat", "pie"]中有一个数组,我想迭代这个数组,当我迭代时,在数组的每个元素的末尾附加字符"ay" ...那是怎么回事可能的?

提前致谢。

2 个答案:

答案 0 :(得分:4)

您可以使用Array#map

array = ["eat","pie"]
p array.map { |element| "#{element}ay" }
# => ["eatay", "pieay"]

它为您提供了一个新的数组,其中包含您已完成的修改,您的“原始”数组仍然像以前一样:

p array.map { |element| "#{element}ay" } # ["eatay", "pieay"]
p array # ["eat", "pie"]

了解更多信息。请参阅mapmap!

答案 1 :(得分:2)

Array#collect将给定的代码块应用于数组的所有项,并返回新数组。

array = ["eat","pie"]
array.collect { |element| "#{element}ay" }