可能重复:
* 运算符在 Ruby 中对这个字符串做了什么
在寻找将数组转换为哈希的简单方法时,我遇到了以下代码(类似于 .Net 在 IEnumerable 上的 ToDictionary 方法......我希望能够任意设置键和值)。
a = [ 1, 2, 3, 4, 5, 6 ]
h = Hash[ *a.collect { |v| [ v, v ] }.flatten ]
我的问题是,前面的星号有什么作用a.collect
?
顺便说一句,代码来自http://justatheory.com/computers/programming/ruby/array_to_hash_one_liner.html