次函数的值在循环外变化

  • 本文关键字:循环 变化 函数 ruby
  • 更新时间 :
  • 英文 :


我写了一段代码,将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 ','

最新更新