【问题标题】:When can I use colons?什么时候可以使用冒号?
【发布时间】:2017-07-21 15:47:31
【问题描述】:

对于下面这行代码,

validates :name, presence: true, length: { minimum: 5, maximum: 100 }

什么时候用冒号加空格加符号,还是用冒号加空格?

例如validates :namepresence: true

我不明白其中的区别。

【问题讨论】:

  • 您对哈希的符号(:name)和关键符号(presence::presence =>)感到困惑

标签: ruby symbols


【解决方案1】:
validates :name, presence: true, length: {minimum: 5, maximum: 100}

依次是:

validates(:name, **{presence: true, length: {minimum: 5, maximum: 100}})

其中:name 是调用validates 方法的第一个[Symbol] 参数,而具有键:presence:length 的双重散列是第二个参数。

现代 Ruby 中的Hash 可能用冒号声明:

 {a: 42}

相同
{:a => 42}

此外,对于双散列散列参数,可能会省略花括号。

【讨论】:

    猜你喜欢
    • 2016-01-08
    • 2015-01-16
    • 2011-02-24
    • 2020-08-14
    • 2022-11-10
    • 2012-07-09
    相关资源
    最近更新 更多