Когда мы используем рубин, нам очень удобно использовать «путы». Но, поскольку это код печати по умолчанию, используемый всеми, у него также есть некоторые недостатки.
Если вы написали два оператора put один за другим, он обычно печатается в следующей строке, потому что по умолчанию в функции puts есть «\n».
puts “Hello” puts “World”
Дает тебе
Hello World
Но что, если вы хотите, чтобы это было так.
Hello World
Я знаю, некоторые из вас будут думать, что мы можем просто сделать это.
puts "Hello World"
И, несомненно, вы абсолютно правы. Вот в чем загвоздка, здесь это работает, но как вы сделаете то же самое, если вы находитесь в цикле и после каждой итерации не хотите переходить на следующую строку.
В этом случае для нашего оставшегося в живых возникает отпечаток.
Используйте print вместо put и STDOUT.flush, за которым следует его.
Puts дает вам это
"HelloWorld".split("").each do |i| puts i end H e l l o W o r l d
Печать дает вам это
"HelloWorld".split("").each do |i| print i STDOUT.flush end HelloWorld