試圖瞭解爲什麼它返回一個很好的填充哈希:哈希[string.split(...)]對哈希[* string.split(...)]
Hash[*myString.split("\n")]
雖然這將返回一個空哈希?
Hash[myString.split("\n")]
我看到,星號是關鍵,這標誌着可變長度的參數...但哈希的要求之一[...]是,它可以採取偶數陣列並把它變成一個有效的散列。那麼,在上面的第二個例子中,新行上的string.split返回一個偶數數組,爲什麼Ruby不允許它?
優秀的答案。當你說splat字符將數組擴展到每個單獨的元素時,它會爲我點擊。傳遞一個數組不會被視爲傳遞多個參數,因爲它只是一個對象。謝謝! (一旦網站允許我將標記爲答案)。 – mariocatch
很高興能幫到你!其實我從來沒有想過用這種方法實例化哈希,所以查看文檔教會了我一兩件事! –