区别:符号和符号:?

Bre*_*ski 1 ruby

刚刚通过一个教程,并想到我看到的地方

first_name:
Run Code Online (Sandbox Code Playgroud)

另一个地方

:first_name
Run Code Online (Sandbox Code Playgroud)

这是正确的吗?有什么不同?

apn*_*ing 5

Ruby 1.9.2中的哈希语法发生了变化,以便更接近json.

所以:

{ :foo => "bar" }
Run Code Online (Sandbox Code Playgroud)

是相同的:

{ foo: "bar" }
Run Code Online (Sandbox Code Playgroud)

在所有其他情况下,结肠必须先来.


Fab*_*ini 5

:first_name是一个符号,而first_name:是新Ruby 1.9.2语法中的哈希键.

然后将散列键转换为符号:

>> a = { foo: 10 , bar: 20 }
=> {:foo=>10, :bar=>20}
Run Code Online (Sandbox Code Playgroud)

它与写作相同:

>> a = { :foo => 10, :bar => 20 }
=> {:foo=>10, :bar=>20}
Run Code Online (Sandbox Code Playgroud)