जवाबों:
पर मैक ओएस एक्स या लिनक्स आप उपयोग कर सकते हैं Ctrl+ Lस्पष्ट करने के लिए आईआरबी स्क्रीन।
cmd+kएक टर्मिनल टैप के भीतर सभी को साफ कर देगा, यदि आप दृश्य क्षेत्र के विभाजन क्षेत्र में tmux का उपयोग करते हैं, ctrl+Lतो बेहतर काम करेंगे।
इसे अंदर फेंको %userprofile%\.irbrcऔर तुम अच्छे हो
def cls
system('cls')
end
system('clear')एक मैक पर भी काम करेगा। यह ध्यान दिया जाना चाहिए कि यह => trueकंसोल के शीर्ष पर छोड़ देगा ।
* निक्स बॉक्स पर
`clear`
विंडोज पर
system 'cls' # works
`cls` # does not work
OSX पर
system 'clear' # works
`clear` # does not work
system('clear')या Ctrl+L
system 'clear'मेरे लिए काम किया लेकिन मुझे मिला: command not found => false
clearअपनी pryrc फ़ाइल जैसे कोई अन्य नाम जोड़ सकते हैं । साझा करने के लिए धन्यवाद
Command+ Kमें MacOS महान काम करता है।
Ubuntu 11.10 सिस्टम clearपर ज्यादातर irb विंडो क्लियर होगी। आपको एक रिटर्न => Trueवैल्यू प्रिंटेड मिलती है ।
बदसूरत पाठ का एक बड़ा गड़बड़
ruby-1.9.2-p290 :007 > system 'clear'
फिर क्या मिलता है:
=> true
ruby-1.9.2-p290 :007 >
बस आज यह पता चला है: Pry (एक IRB विकल्प) में, इनपुट की एक पंक्ति जो एक .कमांड के साथ शुरू होती है उसे कमांड शेल में भेज दिया जाएगा। मैक और लिनक्स में जिसका अर्थ है, हम उपयोग कर सकते हैं:
. clear
अपडेट: दुर्भाग्य से, यह विंडोज पर काम नहीं करता है।
स्रोत: Pryrepl.org
. clsविंडोज पर काम करना चाहिए।
स्क्रीन को साफ करने के लिए:
puts "\e[H\e[2J"
PS यह लिनक्स पर परीक्षण किया गया था।
`clear`, और इसके बराबर है puts %x(/usr/bin/clear)।
system 'clear'
रेल 4.0 के लिए भी काम करना चाहिए
लिनक्स मिंट 17 पर भी आप Ctrl+ Shift+ का उपयोग कर सकते हैंL
या
Ctrl+ L IRB स्क्रीन को साफ़ करने के लिए।
puts `clear`
स्क्रीन को साफ़ करता है और फिर => nilMac OSX 10.6 टर्मिनल और iTerm2 पर टेस्ट किया जाता है।
तरीका:
def clear_screen
if RUBY_PLATFORM =~ /win32|win64|\.NET|windows|cygwin|mingw32/i
system('cls')
else
system('clear')
end
end
या आईआरबी में आप उपयोग कर सकते हैं system('clear')
विंडोज उपयोगकर्ता बस कोशिश करते हैं,
system 'cls'
या
system('cls')
आईआरबी विंडो में इस तरह दिखता है,
irb(main):333:0> system 'cls'
irb(main):007:0> system('cls')
क्या मेरे लिए माणिक की चाल 1.9.3 है। हालाँकि निम्नलिखित कमांड काम नहीं किया और वापस आ गया => nil,
system('clear')
system 'clear'
system `cls` #using the backquotes below ESC Key in windows
मैंने इसे निष्पादन योग्य फ़ाइलों के लिए उपयोग किया है:
def clear
system("cls") || system("clear") || puts("\e[H\e[2J")
end
clear
system 'cls'
रूबी 2.2.0 और रेल 4.0 के साथ विंडोज में मेरे लिए काम करता है
मैं irb के साथ टैटी को रीसेट करने का एक तरीका ढूंढने के लिए यहां आया था, क्योंकि यह newlines नहीं छाप रहा था या दिखा रहा था कि मैंने किसी भी तरह से टाइप किया था, केवल एक आउटपुट।
1.9.3-p125 :151 > system 'reset'
अंत में मेरे लिए चाल चली गई!
`reset`:।
resetठीक काम करना चाहिए
यहाँ अच्छे जवाबों के टन हैं, लेकिन मैं अक्सर खिड़कियों से मिंट्टी के साथ एक लिनक्स बॉक्स में रिमोट करता हूं। Kiros .irbrc का उपयोग करने के बारे में ऊपर, लेकिन इसके साथ आया:
def cls
puts "\ec\e[3J"
end
def clear
puts "\e[H\e[2Js"
end
यह आपको * निक्स 'स्पष्ट' व्यवहार और विंडोज 'cls' व्यवहार दोनों के लिए विकल्प प्रदान करता है, जो कि मैं अक्सर अधिक उपयोगी पाता हूं अगर मैं वास्तव में बफर को केवल देखने के बजाय स्क्रॉल करना चाहता हूं।
PS एक समान संस्करण भी .bashrc में काम करता है:
alias cls='echo -e "\ec\e[3J"'
अगर किसी को वास्तव में एक कीस्ट्रोके में मैप करने का एक तरीका मिल सकता है, तो मुझे यह सुनना अच्छा लगेगा। मैं वास्तव में ओम्क्स पर cmd-k के समान कुछ होना चाहूंगा जो मिंट्टी में काम करेगा।
विंडोज़ उपयोगकर्ताओं के लिए:
यदि आप एक बैट फ़ाइल नाम बनाते हैं, जिसका कंटेंट निम्न हैं:
@echo off
cls
फिर, IRB में, आप कह सकते हैं:
system('c')
कंसोल को खाली करने के लिए। मैंने सोचा था कि मैं साझा करूंगा क्योंकि मुझे लगा कि यह बहुत अच्छा था। मार्ग में अनिवार्य रूप से कुछ भी सुलभ है।
->(a,b,c){x=a.method(b);a.send(c,b){send c,b,&x;false};print"\e[2J\e[H \e[D"}[irb_context,:echo?,:define_singleton_method]
यह आपकी IRB स्क्रीन को पूरी तरह से खाली कर देगा, जिसमें कोई अतिरिक्त खाली लाइनें और "=> शून्य" सामान नहीं होगा। लिनक्स / विंडोज पर परीक्षण किया गया।
इस वन-लाइनर का विस्तार इस प्रकार किया जा सकता है:
lambda {
original_echo = irb_context.method(:echo?)
irb_context.send(:define_singleton_method, :echo?) {
send :define_singleton_method, :echo?, &original_echo
false
}
print "\e[2J\e[H \e[D"
}.call
यह बहुत सारे ट्रिक्स का उपयोग करता है।
सबसे पहले, irb यह echo?जांचने के लिए कॉल करेगा कि क्या परिणाम मुद्रित किया जाना चाहिए। मैंने विधि को बचाया, फिर एक ऐसी विधि के साथ पुनर्परिभाषित किया जो डिफिनेशन को पुनर्स्थापित करता है लेकिन गलत है इसलिए irb परिणाम को प्रतिध्वनित नहीं करेगा।
दूसरे, मैंने कुछ एएनएसआई नियंत्रण चार्ट छपवाए। \e[2Jस्क्रीन को साफ करेगा और \e[Hकर्सर को स्क्रीन के ऊपरी बाएँ स्थान पर ले जाएगा। \e[Dएक स्थान प्रिंट करेगा और फिर कर्सर को वापस ले जाएगा जबकि यह विंडोज पर कुछ अजीब के लिए एक वैकल्पिक हल है।
अंत में यह एक तरह से व्यावहारिक नहीं है। बस मुस्कुराओ ;)
बैकटिक ऑपरेटर कमांड के आउटपुट को कैप्चर करता है और उसे लौटाता है
s = `cls`
puts s
मुझे लगता है कि बेहतर काम करेगा।
cls=> "\ f" मिलता है
"\f"जो आपको मिली और फिर puts sयह आउटपुट ♀मुझे आश्चर्य है कि क्यों?
Ctrl+Lsystem 'clear'