区别:符号和符号:?

时间:2012-06-10 12:40:40

标签: ruby

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

first_name:

另一个地方

:first_name

这是对的吗?有什么区别?

2 个答案:

答案 0 :(得分:5)

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

所以:

{ :foo => "bar" }

与:

相同
{ foo: "bar" }

在所有其他情况下,结肠必须先出现。

答案 1 :(得分:5)

:first_name是一个符号,而first_name:是新Ruby 1.9.2语法中的Hash键。

然后将哈希键转换为符号:

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

与写作相同:

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