2012-06-10 142 views
1

通過教程只是去和地方想我看到區別:符號和符號:?

first_name: 

而另一個地方

:first_name 

這是正確的?有什麼不同?

+0

可能重複是否有'之間的任何差異:密鑰=> 「值」'和'key:'value''assignments?](http://stackoverflow.com/questions/8675206/is-there-any-difference-between-key-value-and-key-value-assignments) –

回答

5

Ruby 1.9.2中的哈希語法已更改爲更接近json。

所以:

{ :foo => "bar" } 

是一樣的:

{ foo: "bar" } 

在其他情況下,結腸必須是第一位的。

5

:first_name是一個符號,而first_name:是新的Ruby 1.9.2語法中的哈希鍵。然後

混雜鍵被轉換爲符號:

>> a = { foo: 10 , bar: 20 } 
=> {:foo=>10, :bar=>20} 

它是相同的文字:

>> a = { :foo => 10, :bar => 20 } 
=> {:foo=>10, :bar=>20} 
的[
+1

謝謝我可以接受這兩個答案 – Brettski