2016-05-03 38 views

回答

2

這會引起混亂,特別是因爲:名字是對自己有效的(作爲一個獨立的象徵),但名稱:沒有任何意義通過它自己。

的底線是:名稱=>和名稱:是有效的只有裏面的文字哈希值相同,使

{ :name => "Michael Hartl" } 

{ name: "Michael Hartl" } 

是等價的,但除此之外,你需要使用:name(用冒號先出現)表示一個符號。

這是因爲兩種散列語法仍然是常用的,所以能夠識別它們是非常重要的。 (我的答案已經被Micheal Hartl的Ruby on Rails引用)

0

這個語法是在Ruby 1.9中引入的,使得哈希更具可讀性。

:subject => "Password Reset" 

# Starting from 1.9 you can do 
subject: "Password Reset" 

這些語法的兩個是一個語法糖:

{ :subject => "Password Reset" }