在关联中,我们通常这样做a :b(belongs_to :something)。当我们使用符号键创建哈希时,通常会这样做a: b。话虽如此,我的问题是两种语法之间的区别是什么。还有什么逻辑可以记住何时使用哪种约定?
fph*_*ipe 10
这不是关于约定,而是关于语法。
:something是一个Symbol。
belongs_to :something是一种发送给隐式方法self同时省略括号的方法。我们可以将其编写为如下所示:
self.belongs_to(:something)
Run Code Online (Sandbox Code Playgroud)
:something因此只是一个传递给方法的参数belongs_to。
在中Hash,我们可以使用a Symbol作为键:
hash = { :something => "hello" }
Run Code Online (Sandbox Code Playgroud)
Ruby在1.9版中引入了另一种语法,可以在键为符号时使用:
hash = { something: "hello" }
Run Code Online (Sandbox Code Playgroud)
这两个版本是等效的。
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |