21.6. Czyszczenie ekranu
Problem
Chcemy wyczyścić ekran w aplikacji z interfejsem w postaci konsoli.
Rozwiązanie
Wystarczy przechwycić wynik uniksowego polecenia clear
w postaci tekstowej i wyświetlić go wtedy, gdy trzeba wyczyścić ekran:
#!/usr/bin/ruby -w # clear_console.rb clear_code = %x{clear} puts 'Aby wyczyścić ekran, naciśnij Enter.' $stdin.gets print clear_code puts "Ekran wyczyszczono!"
Dyskusja
Polecenie clear
wyświetla sekwencję sterującą na standardowym urządzeniu wyjściowym. Terminal uniksowy interpretuje ją jako polecenie czyszczenia ekranu. Odpowiednia sekwencja zależy od typu terminala. W przypadku terminala ANSI ma ona następującą postać:
%x{clear} # => "\e[H\e[2J"
Aby wyczyścić ekran z poziomu skryptu Ruby, ...
Get Ruby. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.