%w{}是Ruby中的一种快捷方式,用于创建一个以空格分隔的字符串数组。例如,%w{apple banana cherry}
将创建一个包含3个字符串元素的数组:["apple", "banana", "cherry"]。这种写法比使用["apple", "banana",
"cherry"]要更简便,并且更易于阅读。

可以使用#{}结合变量来在%w{}中插入变量。例如,
file_name = "example.txt" file_data = %w{This is an example file #{file_name}}
这将创建一个字符串数组 `file_data`,其中包含三个元素:"This"、"is"、"an"、"example"、"file"和"example.txt"
。注意,#{file_name} 将会被替换成变量`file_name` 的值。
在使用 %w 时,Ruby 会将字符串中的空格作为分隔符,将其拆分成一个字符串数组。在上面这个例子中,Ruby 会将 "This is an example
file #{file_name}" 拆分为 "This"、"is"、"an"、"example"、"file" 和 "\#{file_name}"
这几个字符串,其中"\#{file_name}" 并不会被解析为变量 file_name 的值。如果想要将 file_name
的值插入到字符串中,可以使用字符串插值的方式,例如:
file_data = %W{This is an example file #{file_name}}
注意,在使用 %W 时需要将字符串中的变量使用 #{} 包裹起来,这样 Ruby 才会在字符串中插入变量的值

%w{}和%W{}都是用来表示字符串数组的语法,区别在于%w{}默认以空格作为分隔符,而%W{}可以自定义分隔符。

例如:
arr1 = %w{apple banana orange} arr2 = %W[apple banana orange] arr3 = %w|apple
banana orange| arr4 = %W(apple banana orange) puts arr1.inspect #=> ["apple",
"banana", "orange"] puts arr2.inspect #=> ["apple", "banana", "orange"] puts
arr3.inspect #=> ["apple", "banana", "orange"] puts arr4.inspect #=> ["apple",
"banana", "orange"]
以上四个数组的输出结果都是一样的,因为它们都表示的是包含三个元素的字符串数组。但是使用了不同的分隔符。

另外需要注意的是,%w{}和%W{}中的字符串不需要使用引号括起来。例如:
arr5 = %w{I am a string} arr6 = %W{I am also a string} puts arr5.inspect #=>
["I", "am", "a", "string"] puts arr6.inspect #=> ["I", "am", "also", "a",
"string"]
以上两个数组输出的结果也是一样的。

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信