以下代码抛出消息时不会使用换行符。
threads = []
counter = 1000
counter.times do
threads << Thread.new do
puts "This is a line."
sleep 1
end
end
threads.each {|t| t.join}
结果是
This is a line. This is a line
This is a line.
This is a line.
and so on...
无论如何都要以更整洁的方式打印结果行吗?
答案 0 :(得分:2)
puts
通过打印其参数在内部工作,然后打印换行符。有时,线程在两个操作之间中断,导致您看到的行为。你可以说:
print "This is a line.\n"
...它会在一次操作中写出整个字符串 - 包括换行符。