Jör*_*tag 21
Ruby有一个统一的迭代接口.Ruby中的所有集合都有一个名为的方法each,它允许您遍历集合的每个元素.但请注意,显式迭代是代码气味.你应该多采用更高级别的迭代器一样map,reduce,select,find,reject和这样的.
在这个集合是a的特殊情况下Hash,每个元素都被生成块,是一个由元素和值组成的双元素数组:
print hsh.reduce('') {|s, el|
s << "The key is #{el.first} and the value is #{el.last}.\n"
}
Run Code Online (Sandbox Code Playgroud)
感谢Ruby的解构绑定,你可以简单地将数组的两个元素绑定到块中的两个变量,而不需要经常将数组分开:
print hsh.reduce('') {|s, (k, v)|
s << "The key is #{k} and the value is #{v}.\n"
}
Run Code Online (Sandbox Code Playgroud)
haf*_*fax 14
myHash.each do |key, value|
// key holds the key, value holds the value
end
Run Code Online (Sandbox Code Playgroud)
如果想要将数组中的数组转换为map,请执行以下操作:
myNewHash = {}
myArrayOfArrays = myHash["Journal"]
myArrayOfArrays.each do | item |
myNewHash[item[0]] = item[1]
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13772 次 |
| 最近记录: |