首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >键中有破折号的Ruby 1.9散列

键中有破折号的Ruby 1.9散列
EN

Stack Overflow用户
提问于 2010-01-26 02:49:10
回答 4查看 19K关注 0票数 57

在ruby1.9中,有没有一种方法可以用新的语法来定义这个散列呢?

代码语言:javascript
复制
irb> { a:  2 }
=> {:a=>2}

irb> { a-b:  2 }
SyntaxError: (irb):5: syntax error, unexpected tLABEL
{ a-b:  2 }
      ^

对于旧的版本,它是有效的:

代码语言:javascript
复制
irb> { :"a-b" =>  2 }
=> {:"a-b"=>2}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-10-27 15:45:08

从Ruby 2.2开始,您还可以使用以下语法:

代码语言:javascript
复制
{a: 1, b: 2, 'c-c': 3, d: 4}
票数 11
EN

Stack Overflow用户

发布于 2010-01-26 03:09:36

有一些合法的符号不能与新语法一起使用。我找不到引用,但新语法似乎允许使用与/^[a-zA-Z_][a-zA-Z_0-9]*[!?]?$/匹配的符号名称。最后一个字符可以是特殊字符"!“或"?“。

对于不满足这些限制的任何符号,必须使用Ruby1.8语法:'my-symbol-name'

票数 64
EN

Stack Overflow用户

发布于 2012-07-19 07:45:31

要在新语法中使用短划线:

代码语言:javascript
复制
<%= link_to "Link", link_path, {data: {something: 'value1', somethingelse: 'value2'}} %>

这将生成:

代码语言:javascript
复制
<a href="/link" data-something='value1' data-somethingelse='value2'>Link</a>

这可能不是你的特殊用例,但我在自己寻找答案的时候发现了这篇文章,所以我想我应该分享我的发现。

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2134702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档