2011-09-09 17 views
9

क्या रूबी को एक पंक्ति में प्रिंट करने का कोई आसान तरीका है, फिर अगले प्रिंट के लिए, यह शुरुआत से उसी पंक्ति में प्रिंट करता है।एक ही पंक्ति पर रूबी एकाधिक प्रिंट

मैं फ़ाइलों को उत्पन्न होने के दौरान stdout पर दिखाया गया एक साधारण फ़ाइल काउंटर बनाने की कोशिश कर रहा हूं। यह स्क्रीन पर एक ही स्थिति में तेजी से अद्यतन संख्या की तरह दिखता है।

उत्तर

16

इस्तेमाल कर सकते हैं \ r ..

while(true) do 
    print "\\\r" 
    print "|\r" 
    print "/\r" 
end 

चार प्रिंट होगा और फिर कर्सर वापस ले जाने और इस पर मुद्रित, जैसे एक छोटे से स्पिनर बनाने चीज़। अन्यथा आप शाप की तरह कुछ देख सकते हैं .... (एक रूबी रैपर के लिए https://github.com/rkumar/rbcurse)

0

यदि आप किसी टर्मिनल जैसी चीज़ पर प्रिंट कर रहे हैं तो आप नियंत्रण वर्ण या शाप का उपयोग कर सकते हैं। यदि आप जानते हैं कि आप कितनी वस्तुओं को संसाधित कर रहे हैं तो यह केवल एक पाठ प्रगति पट्टी बनाना आसान हो सकता है, हालांकि, wget/etc की तरह।

6

आप कुछ इस तरह की कोशिश कर सकते हैं: अपने कंसोल का समर्थन करता है

print "Hello" 
print 13.chr 
print "123" 

अगर लाइन फ़ीड यह तो पहले वर्ण और प्रिंट "123lo" की जगह चाहिए। एक काउंटर के रूप में लग सकता है के साथ एक उदाहरण इस प्रकार है:

100.times{|x| print x; print 13.chr; sleep 0.01} 
+0

चिड़चिड़ाहट से, यह स्थानीय रूप से उबंटू पर काम करता है लेकिन एसएसएच के माध्यम से एसयूएसई पर व्यवहार नहीं करता है। बीटीडब्ल्यू - एक एलएफ के बजाय एक सीआर नहीं है – stjohnroe

संबंधित मुद्दे