刚刚通过一个教程,并想到我看到的地方
first_name:
Run Code Online (Sandbox Code Playgroud)
另一个地方
:first_name
Run Code Online (Sandbox Code Playgroud)
这是正确的吗?有什么不同?
Ruby 1.9.2中的哈希语法发生了变化,以便更接近json.
所以:
{ :foo => "bar" }
Run Code Online (Sandbox Code Playgroud)
是相同的:
{ foo: "bar" }
Run Code Online (Sandbox Code Playgroud)
在所有其他情况下,结肠必须先来.
: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)