Вот пример, который я только что написал, который принимает массив и выводит пробелы, если это необходимо.Вы можете раскомментировать переменную скорости, чтобы контролировать скорость во время выполнения.Также удалите другой сон 0.2 Последняя часть в массиве должна быть пустой, чтобы вывести весь массив, все еще работая над его исправлением.
#@speed = ARGV[0]
strArray = [ "First String there are also things here to backspace", "Second Stringhereare other things too ahdafadsf", "Third String", "Forth String", "Fifth String", "Sixth String", " " ]
#array = [ "/", "-", "|", "|", "-", "\\", " "]
def makeNewLine(array)
diff = nil
print array[0], "\r"
for i in (1..array.count - 1)
#sleep @speed.to_f
sleep 0.2
if array[i].length < array[i - 1].length
diff = array[i - 1].length - array[i].length
end
print array[i]
diff.times { print " " } if !diff.nil?
print "\r"
$stdout.flush
end
end
20.times { makeNewLine(strArray) }
#20.times { makeNewLine(array)}