以下代码生成输出"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"
您可以通过反斜杠包含空格 - 转义它们(然后添加一个额外的空格作为分隔符).
a = %w{x\ y\ z\ }
Run Code Online (Sandbox Code Playgroud)
但这可能变得难以阅读.如果你想在那里放置显式引号,你不需要%w{},只需使用普通的逗号分隔数组[].
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)