我應該使用嗎?你想要什麼Ruby 2.0中正確的哈希語法是什麼?
{ :first_name => "Mathieu", :last_name => "Jackson" }
或
{ first_name: "Mathieu", last_name: "Jackson" }
我應該使用嗎?你想要什麼Ruby 2.0中正確的哈希語法是什麼?
{ :first_name => "Mathieu", :last_name => "Jackson" }
或
{ first_name: "Mathieu", last_name: "Jackson" }
使用。這沒有神聖的意義。但強烈建議您統一使用它。
沒有「應該」。
我更喜歡1.9語法,除非有符號作爲值,那麼我認爲它看起來很愚蠢。
這意味着我不統一使用它們,它取決於散列值是什麼–,但我總是在一個即時散列中使用相同的樣式。
兩者沒有區別,所以是個人喜好。雖然我希望大多數人爲2.0寫新代碼將使用第二種格式。
重要的是要注意,如果你正在爲開源/公共消費,並希望廣泛的用戶羣,你應該使用哈希的「老」的風格是很重要的。 Ruby 1.8.x以及除RMI之外的JRuby和其他ruby實現都不支持簡潔語法。
也JRuby的支持:A => 1個語法,IIRC – poseid 2013-05-01 13:27:44
正確的,因爲JRuby的1.7。 0簡潔的語法寫了默認值(1.9模式),但預期更早版本/使用散列的舊式。 – 2013-05-01 13:32:01
第一個應該使用,如果你正在尋找向後兼容性。但第二個是整潔。
原來可以換成後者。如果不是,那會顯示語法錯誤。 – 2013-05-01 13:24:42
@sawa OP不問什麼可行,而是應該使用什麼「應該」。這可能是脫離主題,但僅此而已。 – 2013-05-01 13:57:12
@DaveNewton對於文字你是對的,但如果你看標題,它會問什麼是有效的。 – sawa 2013-05-01 13:59:45