【发布时间】:2016-04-22 23:48:04
【问题描述】:
我正在尝试对 Ruby 中的所有数组方法和可枚举项感到非常熟悉,但我不明白为什么有些不会发生变异而另一些会发生变异。例如,两者之间是否有区别:
def double(array)
array.map {|x| x * 2}
end
和
def double(array)
return array.map! {|x| x * 2}
end
另外,当我试图打电话时
b.select{|x| x.even?}
其中b是一个整数数组,它没有改变,但是
b = b.select{|x| x.even?} OR
.delete_if
似乎确实改变了它。
是
a.each do |word|
word.capitalize!
end
同
a.map do |word|
word.capitalize
end
【问题讨论】:
标签: arrays ruby ienumerable