IRB konsol ekranını nasıl temizlersiniz?
IRB konsol ekranını nasıl temizlersiniz?
Yanıtlar:
On Mac OS X veya Linux kullanabilirsiniz Ctrl+ Ltemizlemek için IRB ekranını.
cmd+k
terminal alanının içindeki tümünü temizler, eğer görsel alanın alanını bölmek için tmux kullanırsanız, ctrl+L
daha iyi bir iş çıkarır .
Bunu içeri at %userprofile%\.irbrc
ve sen iyisin
def cls
system('cls')
end
Gönderen pencerelerde IRB net ekran .
system('clear')
Mac'te de çalışır. Bunun => true
konsolun üstünde kalacağı unutulmamalıdır .
* Nix kutularında
`clear`
Windows'ta
system 'cls' # works
`cls` # does not work
OSX'te
system 'clear' # works
`clear` # does not work
system('clear')
ya da Ctrl
+L
system 'clear'
benim için çalıştı ama aldım: command not found => false
clear
için pryrc dosyanız gibi bir takma ad ekleyebilirsiniz . Paylaştığınız için teşekkürler
Command+ Kİçinde MacOS iyi çalışıyor.
Ubuntu clear
11.10'da sistem çoğunlukla irb penceresini temizleyecektir. => True
Yazdırılan bir dönüş değeri alırsınız .
Çirkin metnin büyük bir karmaşası
ruby-1.9.2-p290 :007 > system 'clear'
ne alırsın:
=> true
ruby-1.9.2-p290 :007 >
Bugün bunu keşfettim: Pry'de (IRB alternatifi), a ile başlayan bir girdi satırı .
komut kabuğuna iletilir. Yani Mac ve Linux'ta şunları kullanabiliriz:
. clear
Güncelleme: Ne yazık ki, Windows üzerinde çalışmıyor gibi görünüyor.
Kaynak: Pryrepl.org
. cls
Windows üzerinde çalışmalıdır.
Ekranı temizlemek için yapmanız gerekenler:
puts "\e[H\e[2J"
PS Bu, Linux'ta test edildi.
`clear`
ve buna eşdeğerdir puts %x(/usr/bin/clear)
.
system 'clear'
Raylar 4.0 için de çalışmalı
Linux Mint 17'de ayrıca Ctrl+ Shift+L
veya
Ctrl+ L IRB ekranını temizleyin.
puts `clear`
Ekranı temizler ve ardından => nil
Mac OSX 10.6 Terminal ve iTerm2'de Test edildi öğesini döndürür .
Yöntem:
def clear_screen
if RUBY_PLATFORM =~ /win32|win64|\.NET|windows|cygwin|mingw32/i
system('cls')
else
system('clear')
end
end
Veya IRB'de şunları kullanabilirsiniz: system('clear')
Windows kullanıcıları basitçe,
system 'cls'
VEYA
system('cls')
IRB penceresinde böyle görünüyor,
irb(main):333:0> system 'cls'
irb(main):007:0> system('cls')
Benim için hile yaptım yakut 1.9.3. Ancak aşağıdaki komutlar çalışmadı ve döndü => nil
,
system('clear')
system 'clear'
system `cls` #using the backquotes below ESC Key in windows
Bunu yürütülebilir dosyalar için kullandım:
def clear
system("cls") || system("clear") || puts("\e[H\e[2J")
end
clear
system 'cls'
Ruby 2.2.0 ve rails 4.0 ile Windows'ta çalışır
Buraya tty'yi irb ile sıfırlamanın bir yolunu aradım, çünkü yeni satırlar yazdırmıyor ya da bir şekilde yazdıklarımı gösteriyordu, sadece bir çıktı.
1.9.3-p125 :151 > system 'reset'
sonunda benim için hile yaptı!
`reset`
.
reset
Burada iyi cevaplar ton, ama ben genellikle pencerelerden Mintty ile bir linux kutusu içine uzaktan. Yukarıda .irbrc kullanma hakkında şeref, ancak bununla geldi:
def cls
puts "\ec\e[3J"
end
def clear
puts "\e[H\e[2Js"
end
Bu, hem * nix 'temiz' davranışı hem de Windows 'cls' davranışı için seçenekler sunar, bu da arabellekleri yalnızca görünümden kaydırmak yerine gerçekten tıklatmak istiyorsam daha yararlı buluyorum.
PS benzer bir varyant da .bashrc içinde çalışır:
alias cls='echo -e "\ec\e[3J"'
Birisi bunu bir tuş vuruşuyla eşleştirmenin bir yolunu bulabilirse, duymak isterim. Gerçekten Mintty'de çalışacak osx üzerinde cmd-k'ye benzeyen bir şey istiyorum.
Windows kullanıcıları için:
İçeriği c.bat olan bir bat dosyası adı oluşturursanız:
@echo off
cls
Ardından, IRB'de şunları söyleyebilirsiniz:
system('c')
konsolu temizlemek için. Sadece paylaşacağımı düşündüm çünkü bunun çok havalı olduğunu düşündüm. Esasen yoldaki her şeye erişilebilir.
->(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]
Bu, IRB ekranınızı tamamen boş satırlar ve “=> sıfır” öğeler olmadan tamamen temizler. Linux / Windows üzerinde test edilmiştir.
Bu tek astar şu şekilde genişletilebilir:
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
Bu çok sayıda hile kullanır.
İlk olarak, irb echo?
sonucun yazdırılıp yazdırılmayacağını kontrol eder. Yöntemi kaydettik, sonra tanımı geri yükleyen ancak false döndüren bir yöntemle yeniden tanımlandım, böylece irb sonucu yankılamayacak.
İkincisi, bazı ANSI kontrol karakterleri yazdırdım. \e[2J
ekranı temizleyecek ve \e[H
imleci ekranın sol üst konumuna getirecektir. \e[D
bir boşluk yazdıracak ve daha sonra imleci geri getirecek, bu da Windows'ta garip bir şey için bir çözüm.
Sonunda bu hiç de pratik değil. Sadece gül ;)
Backtick operatörü komutun çıktısını yakalar ve döndürür
s = `cls`
puts s
daha iyi çalışır, sanırım.
cls
=> "\ f"
"\f"
ne olduğunu gösterdi ve daha sonra puts s
bunun ♀
nedenini merak ediyorum çıktı ?
Ctrl+L
Ayrıca gnome terminalinde çalışıyor, ancak daha programlı bir şeysystem 'clear'