首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby %w(.)vs %w[.]

Ruby %w(.)vs %w[.]
EN

Stack Overflow用户
提问于 2013-11-03 22:33:45
回答 3查看 4.2K关注 0票数 9

Ruby中的%w(don matt james)%w[don matt james]之间有什么区别吗?

使用Ruby控制台,它们都输出一个数组,每个单词都作为元素。我很好奇为什么会有多种方法来做到这一点--以及每一种方式都应该如何使用。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-03 22:38:07

没有什么不同。任何单个非alpha数字字符或任何“配对”字符集都可以用作分隔符,如Programming/Syntax/Literals (参见“%表示法”)和rdoc.html#label-Percent+Strings中所述。

票数 12
EN

Stack Overflow用户

发布于 2013-11-03 22:39:02

这两个选项都可以,并产生相同的结果。在语法上甚至还有几个额外的变体:

代码语言:javascript
复制
%w'don matt james'
%w{don matt james}
票数 5
EN

Stack Overflow用户

发布于 2013-11-04 02:09:26

对于您的特定示例,输出是相同的,但是有区别。分隔符自由的目的是允许文字中的不同字符不转义。如果使用某些字符作为分隔符,则不能在符号中使用它们而不转义。根据您可能拥有的内容,应该使用不同的分隔符。

代码语言:javascript
复制
["foo()", "bar()"]
%w(foo() bar()) # => error
%w[foo() bar()]

["foo[1]", "bar[5]"]
%w(foo[1] bar[5])
%w[foo[1] bar[5]] # => error
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19759016

复制
相关文章

相似问题

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