【问题标题】:colon placement in Ruby 2.2+ [duplicate]Ruby 2.2+中的冒号放置[重复]
【发布时间】:2016-04-02 17:20:06
【问题描述】:

我看到冒号在 Ruby 中使用了两种不同的方式

:controller => 'pages'

然后

action: => 'home'

我在这里找到了解释:http://goo.gl/ZKxKVK 位置好像没关系,有人能澄清一下吗?

【问题讨论】:

  • 在第二个例子中你可以放下粗箭头
  • 这也是 ruby​​ 的东西,而不是 rails 的东西。

标签: ruby syntax syntactic-sugar


【解决方案1】:

基本上没关系。从 Ruby 1.9 开始,我们可以使用更短的形式:

h = { a: 1, b: 2}

但在某些情况下你必须使用最长的形式,例如:

h = {1 => 'a', 2 => 'b'}
h = {"One Two" => 1}

【讨论】:

    【解决方案2】:

    action: => 'home' 的语法无效。

    应该是action: 'home':action => 'home'

    这些是等价的。它们生成:

    {:action=>'home'}
    

    【讨论】:

    • Ruby 2.2 接受 action: => 'home' 作为有效语法
    • 在 Ruby 2.2.3 上我得到:{action: =>'home'} SyntaxError: (irb):6: syntax error, unexpected => 你是如何使用它的?
    猜你喜欢
    • 2012-10-15
    • 2010-12-29
    • 2014-08-30
    • 2011-05-16
    • 2013-12-31
    • 2019-04-05
    • 2020-04-30
    • 1970-01-01
    相关资源
    最近更新 更多