我写了一段代码,将I递增4次,并将所有e添加到一个数组中。如果我不使用任何方法打印数组,效果会很好。(输出为:[1,2,4](但是如果我使用to_s方法,则输出变为";[]\x01\x02\x03\x04";我知道,它可能会计算e。但我希望我的输出是:1,2,3,4,我不知道如何做到这一点。
所以我的简化代码是这样的:
array = [].to_s
4.times do |e|
e = e + 1
array << e
end
p array
如何获得输出=1,2,3,4?
我认为一种简单/简单的方法如下:
array = []
4.times do |e|
e = e + 1
array << e
end
p array.join(',')
输出:"1,2,3,4"
上面将打印用逗号分隔的所有项目,这也可能有助于加入文档
array = [].to_s
将字符串'[]'
放入变量array
中。从那时起,变量被命名为";阵列";但是它的值根本不是数组。
将第一行更改为读取array = []
,然后在循环后使用Array#join
,使用,
作为分隔符将数组值连接成字符串:
array = []
4.times do |e|
array << e + 1
end
p array.join ','