Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 打印+每个()块-为什么连接不起作用?_Ruby On Rails_Ruby_Syntax - Fatal编程技术网

Ruby on rails 打印+每个()块-为什么连接不起作用?

Ruby on rails 打印+每个()块-为什么连接不起作用?,ruby-on-rails,ruby,syntax,Ruby On Rails,Ruby,Syntax,我期待这个输出: output:xyz 但如果我键入以下内容: a = ["x", "y", "z"] print "output:" + a.each {|i| print i}.to_s 为什么在单词output之前和之后都有“xyz” xyzoutput:xyz 在irb中: >> %w{x y z}.each {|i| i } => ["x", "y", "z"] 对每个对象的调用的返回值是调用它的可枚举对象。所以,您基本上是打印出要传递给每个元素的块中数组的

我期待这个输出:

output:xyz
但如果我键入以下内容:

a = ["x", "y", "z"]
print "output:" + a.each {|i| print i}.to_s
为什么在单词output之前和之后都有“xyz”

xyzoutput:xyz 
在irb中:

>> %w{x y z}.each {|i| i }
=> ["x", "y", "z"]
对每个对象的调用的返回值是调用它的可枚举对象。所以,您基本上是打印出要传递给每个元素的块中数组的每个元素,然后将数组转换为字符串并再次打印,并将其和字符串输出连接起来:。

在irb中:

>> %w{x y z}.each {|i| i }
=> ["x", "y", "z"]

对每个对象的调用的返回值是调用它的可枚举对象。所以,您基本上是打印出要传递给每个元素的块中数组的每个元素,然后将数组转换为字符串并再次打印,并将其和字符串输出连接起来:。

这里可能需要的是:

puts "output: #{a.join}"
或者,更详细地说,如果想法通过这种方式更清晰:

puts "output: #{a.map {|element| element.to_s}.join}"

也许你想要的是:

puts "output: #{a.join}"
或者,更详细地说,如果想法通过这种方式更清晰:

puts "output: #{a.map {|element| element.to_s}.join}"