首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >何时使用%w?

何时使用%w?
EN

Stack Overflow用户
提问于 2013-05-10 15:16:35
回答 4查看 2.2K关注 0票数 4

以下两条语句将生成相同的结果:

代码语言:javascript
复制
arr = %w(abc def ghi jkl)

代码语言:javascript
复制
arr = ["abc", "def", "ghi", "jkl"]

在哪些情况下应该使用%w

在上面的例子中,我需要一个数组["abc", "def", "ghi", "jkl"]。哪种方式是理想的:前者(使用%w)还是后者?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-10 15:20:21

什么时候使用%w[...]而不是常规数组?我相信你可以通过看着这两个,然后输入它们,然后思考你刚刚做了什么,就能想出原因。

当您有一个要转换为数组的单个单词列表时,请使用%w[...]。当我有要循环遍历的参数,或者我知道将来要添加的命令时,我会使用它,因为%w[...]使向数组添加新元素变得很容易。在阵列的定义中有较少的视觉噪声。

当您的元素中嵌入了会欺骗%w的空格时,请使用常规字符串数组。对于必须包含非字符串元素的数组,请使用它。用逗号将"'中的元素括起来会产生视觉噪声,但这也使得创建任何对象类型的数组成为可能。

因此,您可以选择何时使用其中之一,当它对您最有意义时。它被称为“程序员的选择”。

票数 5
EN

Stack Overflow用户

发布于 2013-05-10 15:18:56

正如您正确指出的那样,它们会产生相同的结果。所以,在做决定时,选择一个能产生更简单代码的代码。在本例中,它是%w操作符。在您的previous question中,它是数组文字。

票数 0
EN

Stack Overflow用户

发布于 2013-05-10 15:31:12

使用%w可以避免在字符串两边使用引号。

此外,还有更多这样的快捷方式:

代码语言:javascript
复制
%W - double quotes
%r - regular expression  
%q - single-quoted string
%Q - double-quoted string
%x - shell command

有关更多信息,请参阅"What does %w(array) mean?

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

https://stackoverflow.com/questions/16477095

复制
相关文章

相似问题

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