我什么时候可以使用冒号?

时间:2017-07-21 15:47:32

标签: ruby symbols

对于以下代码行,

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

何时使用带空格的冒号,然后使用符号,或符号冒号,然后使用空格?

例如validates :namepresence: true

我不明白其中的差异。

1 个答案:

答案 0 :(得分:3)

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

反过来:

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

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

现代Ruby中的

Hash可以使用冒号表示法声明:

 {a: 42}

相同
{:a => 42}

此外,对于双splatted散列参数,可能会省略curlies。