雖然試圖回答其他成員的問題時,我正好碰到這個奇怪的現象:#puts是否創建了新的散列?
puts :some_object => 'another_object'
出人意料的是,輸出是這樣的:
{:some_object=>"another_object"}
這是什麼新devilry?看起來好像我已經使用#puts
創建了一個散列,並且沒有使用正常的花括號語法。
我不能,雖然測試這個理論,因爲這只是產生一個錯誤:
puts (:some_object => 'another_object').class
# => syntax error, unexpected =>, expecting ')'
這是怎麼回事?
編輯:好,感謝bundacia的解釋,它現在很容易對我來說,測試並確認這是一個散列(而我不知道怎麼說之前做的):
def test(x)
puts x.class
end
test(:some_object => 'another_object')
# => Hash
許多謝謝!
正常的Ruby語法,它有一些散列方便的方法。 –