带有哈希键和符号的Ruby语法

时间:2016-04-13 23:35:15

标签: ruby literals

使用Rails表达式dependent: :destroy,哈希键为dependent,而destroy只是一个符号?

2 个答案:

答案 0 :(得分:1)

Ruby 1.9中引入的符号只是一种快捷方式,您可以使用<service android:name=".ListenerServiceMobile"> <intent-filter> <action android:name="com.google.android.gms.wearable.DATA_CHANGED" /> <data android:scheme="wear" android:host="*" android:pathPrefix="/data-item-received"" /> </intent-filter> </service> 查看其含义:

irb

他们都是符号。不要忘记哈希可以由任何对象键入,不一定是符号或字符串。这与大多数语言完全不同,其中密钥将被强制转换为一致的。

使用该示例,您可以看到键和值的类型:

h = { dependent: :destroy }
# => { :dependent => :destroy }

在这种情况下,他们是所有符号。

答案 1 :(得分:0)

撰写has_many :orders, dependent: :destroyhas_many(:orders, {:dependent => :destroy})

相同

:dependent是作为[{1}}参数传递的哈希值的关键字:destroy