加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

新的Ruby 1.9哈希语法

发布时间:2020-12-17 02:17:22 所属栏目:百科 来源:网络整理
导读:new_hash = {:simon = "Talek",:lorem = "Ipsum"} 可以替换为 new_hash = {simon: "Talek",lorem: "Ipsum"} 还有一种较短的写作方式 :on = :collection 应用相同的逻辑会引发错误: on: :collection 更新以提供更多信息: 在我的routes.rb中: get 'detail',
new_hash = {:simon => "Talek",:lorem => "Ipsum"}

可以替换为

new_hash = {simon: "Talek",lorem: "Ipsum"}

还有一种较短的写作方式

:on => :collection

应用相同的逻辑会引发错误:

on: :collection

更新以提供更多信息:

在我的routes.rb中:

get 'detail',{ on: :member }

不起作用.也没有

get 'detail',on: :member

错误:

Exiting
SyntaxError: C:/Workspace/OE_11/CyberTrack_Rails3/config/routes.rb:23: 
  syntax error,unexpected ':'

      get 'detail',{ on: :member }

要么

Exiting
SyntaxError: C:/Workspace/OE_11/CyberTrack_Rails3/config/routes.rb:23: 
  syntax error,on: :member

解决方法

这对我来说很好用:

def get(*args) p *args end

get 'detail',on: :member
# "detail"
# { :on => :member }

RUBY_ENGINE
# => jruby
JRUBY_VERSION
# => 1.6.6

编辑:既然您提供了错误消息,看起来您没有运行Ruby 1.9.新的哈希语法是在Ruby 1.9中引入的,它在旧版本中不起作用.您需要确保运行Ruby 1.9,或者通过验证您正在运行正确的Ruby实现(例如,YARV支持1.9,MRI不支持),或者,如果您正在运行支持多语言版本的Ruby实现(例如JRuby)您正在传递正确的命令行标志(例如jruby –1.9).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读