在学习rails时,我经常感到困惑,在某些情况下,冒号放在一个单词之前,而在其他情况下,它放在单词之后。我一直在阅读和重读,试图更好地理解这一点,到目前为止已经确定,当冒号放在单词之前它是一个符号。
我认为我理解这一点,直到我读到" Agile Web Development with Rails 4 (Facets of Ruby), page 56"。
我是否正确地理解了符号在其名称前面有一个冒号,即使用作哈希中的键,但是有一种替代语法将符号名称后的冒号放在哈希中?
答案 0 :(得分:1)
那是对的。始终使用名称
之前的冒号定义符号:foo
带有符号键的哈希的原始符号是
{ :foo => "bar" }
然而,自从Ruby 1.9以来,有一种替代符号被设计得更加紧凑。
{ foo: "bar" }
这两个符号是等价的。但是,这是一个特定的Hash异常。以下内容不是其上的有效符号声明
foo:
答案 1 :(得分:1)
是的,如果你启动Rails控制台,那么运行:
{ test: "ds"}.keys[0] == :test
您会看到它返回true