【发布时间】:2016-11-22 21:22:24
【问题描述】:
我对 Ruby Enumerable 模块非常熟悉,至少我是这么认为的。取如下代码sn -p:
names = [ "Donald", "Daisy", "Daffy" ]
new_empty_array = []
new_names_array = names.map do |name|
new_empty_array << name
end
puts new_names_array.inspect
# prints [["Donald", "Daisy", "Daffy"], ["Donald", "Daisy", "Daffy"], ["Donald", "Daisy", "Daffy"]]
我知道我没有正确使用 map,但我正在教授 Ruby 可枚举的课程,并在学生测试 map 时遇到了这个示例。铲子 (<<) 运算符的返回值是添加元素后的数组。结果不应该是:
[["Donald"], ["Donald", "Daisy"], ["Donald", "Daisy", "Daffy"]]
好像整个循环都处理完了,铲子算子最后的返回值都处理完了?什么给了?
【问题讨论】:
-
first_names应该是names吗?
标签: arrays ruby enumerable