使用%w时包含空格

6 ruby string formatting

以下代码生成输出"xyz"

a = %w{x y z} 
print a.to_s
Run Code Online (Sandbox Code Playgroud)

是否有可以添加到块中的选项以允许添加空格?

例如,我认为通过将代码更改为此,我可以将元素空格分隔以生成"xy z"的输出

a = %w{"x " "y " "z "}
print a.to_s
Run Code Online (Sandbox Code Playgroud)

相反它产生了这个:

"X" "Y" "Z"

Bri*_*per 6

您可以通过反斜杠包含空格 - 转义它们(然后添加一个额外的空格作为分隔符).

a = %w{x\  y\  z\ }
Run Code Online (Sandbox Code Playgroud)

但这可能变得难以阅读.如果你想在那里放置显式引号,你不需要%w{},只需使用普通的逗号分隔数组[].


Rya*_*igg 2

a = ["xyz"].split("").join(" ")
Run Code Online (Sandbox Code Playgroud)

或者

a = ["x","y","z"].join(" ")
Run Code Online (Sandbox Code Playgroud)

或者

a = %w(x y z).join(" ")
Run Code Online (Sandbox Code Playgroud)