试图了解为什么它返回一个很好的填充哈希:哈希[string.split(...)]对哈希[* string.split(...)]
Hash[*myString.split("\n")]
虽然这将返回一个空哈希?
Hash[myString.split("\n")]
我看到,星号是关键,这标志着可变长度的参数...但哈希的要求之一[...]是,它可以采取偶数阵列并把它变成一个有效的散列。那么,在上面的第二个例子中,新行上的string.split返回一个偶数数组,为什么Ruby不允许它?
优秀的答案。当你说splat字符将数组扩展到每个单独的元素时,它会为我点击。传递一个数组不会被视为传递多个参数,因为它只是一个对象。谢谢! (一旦网站允许我将标记为答案)。 – mariocatch
很高兴能帮到你!其实我从来没有想过用这种方法实例化哈希,所以查看文档教会了我一两件事! –