gpt4 book ai didi

ruby-on-rails - 冒号前缀和附加之间的区别(:item vs item:)

转载 作者:数据小太阳 更新时间:2023-10-29 06:55:50 28 4
gpt4 key购买 nike

在 ruby​​ 中追加和前置冒号有什么区别?

例子:

#In rails you often have things like this:
has_many :models, dependent: :destroy

为什么 dependent: 有一个冒号,而 :models:destroy 有一个冒号?有什么区别?

最佳答案

这是 Ruby 1.9 中的新语法,用于定义散列中作为键的符号。

前置和附加的:都定义了一个symbol,但后者仅在散列初始化期间有效。

你可以想到一个symbol作为轻量级字符串常量。

相当于

:dependent => :destroy

在 1.9 之前,散列是使用稍微冗长且难以输入的语法定义的:

hash = {
:key => "value",
:another_key => 4
}

他们在 1.9 中简化了它:

hash = {
key: "value",
another_key: 4
}

如果您曾经编写过要在 1.9 之前的 Ruby 上使用的模块,请确保使用较旧的语法。

关于ruby-on-rails - 冒号前缀和附加之间的区别(:item vs item:),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18217039/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com