新的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). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |