Sadece bir Array alan ve gerektiğinde beyaz boşluk çıkaran bir yazı yazdım. Çalışma zamanında hızı kontrol etmek için hız değişkenini kaldırabilirsiniz. Ayrıca diğer uykuyu da kaldırın 0.2 Dizideki son kısım, dizinin tamamını çıkarmak için boş olmalı, hala sabitlemek için çalışıyor.
#@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)}
Hmm, jsegal'ın çözümünü daha iyi seviyorum, bu yüzden cevabını seçin. Çıktınızı hala temizlemeyi unutmayın. – cam
Burada bölünmüş durumdayım, çünkü cevabınız tam olarak sorduğum mükemmel bir kod snippet'idir: * Ruby * içindeki bir çözüm. Evet, jsegal'in önerisini kullandıysa daha zarif olabilirdi. Ama a) jsegal'ın cevabı, özel bir ruby değildir ve b) Çalışan bir snippet ile bir cevabı kabul etmeyi tercih ederim. Bu yüzden jsegal'in önerisini yansıtmak için cevabınızı düzenleyeceğim ve bu düzenleme kabul edildiğinde cevabınızı kabul edip jsegaliyi ona oy vererek ödüllendireceğim. Bu sistem altında yapabileceğim en iyisi. –
@Steph: Kabul edilmesi gereken cevabın temel olarak, jsegal'in cevabının bir kod snippet içermediği gerçeğine dayanması gibi görünüyor. Yığın Taşması'nın bir kod paylaşım sitesi olmadığı göz önüne alındığında, bu oldukça keyfi bir gereksinim gibi görünüyor. Bunları yararlı bulduysanız, her iki cevabı da not etmeli ve size en uygun çözümü bulmanızda size yardımcı olanı kabul etmelisiniz. –