无法在我的字符串中创建新行

时间:2014-01-09 17:29:31

标签: ruby-on-rails ruby

刚开始从Java迁移到Ruby的第2天。我的代码非常简单,我想打印9x9网格,但是当我通过嵌套for循环时,我无法创建新的行终止。请让我知道我在这里缺少什么,谢谢!

table = ""
for i in 1...10 do
  for j in 1...10 do
    table += j.to_s 
  end
  table += "\n"
end

而且,结果如下:

2.1.0 :078 > table
 => "123456789\n123456789\n123456789\n123456789\n123456789\n123456789\n123456789\n123456789\n123456789\n" 

2 个答案:

答案 0 :(得分:4)

您只需要写为puts table即可。请参阅方法Kernel#puts

table = ""

for i in 1...10 do
  for j in 1...10 do
    table += j.to_s 
  end
  table += "\n"
end
puts table

# >> 123456789
# >> 123456789
# >> 123456789
# >> 123456789
# >> 123456789
# >> 123456789
# >> 123456789
# >> 123456789
# >> 123456789

以Ruby方式为例(9X9):

a = Array.new(9,[*1..9]).map(&:join)
puts a
# >> 123456789
# >> 123456789
# >> 123456789
# >> 123456789
# >> 123456789
# >> 123456789
# >> 123456789
# >> 123456789
# >> 123456789

查看文档: - Array::new

答案 1 :(得分:2)

看到红宝石的雄伟力量!

puts ([*1..9].join + "\n")*9