Как я могу очистить терминал в Ruby? - PullRequest
40 голосов
/ 03 июля 2010

Я хотел бы знать, как сделать в Ruby, что я могу сделать с system("clear") в C. Я написал программу типа

puts "amit"
system("clear")

Я хочу, чтобы консоль очищалась после выполнения этой команды, но она не работает.

Ответы [ 12 ]

52 голосов
/ 27 сентября 2013

Если вы хотите что-то неопределенно переносимое, вы можете попробовать:

system "clear" || system "cls"

, который попробует и clear и cls

15 голосов
/ 04 июля 2015

Вот мультиплатформенный способ сделать это:

Gem.win_platform? ? (system "cls") : (system "clear")
15 голосов
/ 27 сентября 2013

Попробуйте любое из этих двух в вашем файле ruby:

puts `clear`

или

puts "\e[H\e[2J"
13 голосов
/ 27 сентября 2013

Изменить: (перечитывая ваш вопрос, я понимаю, что это не то, что вы после. Я думал, что вы имели в виду IRB. Я оставлю это здесь, а не удалять, так как я думаю, что это может быть очень полезной информацией )


В конечном итоге это зависит от того, на какой системе вы находитесь.

ctrl + l ( cmd + K на Mac, я считаю)

это также работает в обычном терминале, или в интерпретаторе python, или в mysql и т. Д.

Есть немало других ярлыков, с которыми вы можете ознакомиться. я нашел это после быстрого поиска в Google:

CTRL-l - Clears the screen and places the command prompt at the top of the page.
CTRL-r - Starts a search against the command history. Start by typing in what you want to search by then press CTRL-r to see the matches.
CTRL-c - Kills the current running foreground program.
CTRL-z - Stop/sleep the current running foreground program.
CTRL-s - Stops the output to the screen.
CTRL-q - Allows output to the screen.
CTRL-a - Moves the cursor the start of the line
CTRL-e - Moves the cursor to the end of the line
CTRL-f - Moves the cursor 1 character forward
CTRL-b - Moves the cursor 1 character backward

не упоминается в этом списке, что

Alt-F moves the curosor one word forward
Alt- B moves the cursor one word back
8 голосов
/ 04 апреля 2012

Небольшая вариация работ:

puts "Here's a very long string"
sleep 1
system ("cls")

Mark.

4 голосов
/ 22 июля 2016

Это должно охватывать окна и терминалы OSX / Linux.

def method_name
   puts "amit"
   if RUBY_PLATFORM =~ /win32|win64|\.NET|windows|cygwin|mingw32/i
      system('cls')
    else
      system('clear')
   end
end
method_name
4 голосов
/ 10 июля 2016

Для пользователей Windows:

Просто введите следующую функцию в окне irb, и все готово:

Определите эту функцию:

def cls
  system('cls')
end

После определения вызывайте эту функцию всякий раз, когда требуется.

3 голосов
/ 15 февраля 2016

Если вы используете MAC OS, тогда используйте:

system('clear')
3 голосов
/ 03 июля 2010

Вы можете использовать следующую команду для создания файла ruby, например, check.rb, например: follwing

puts "amit"
#system "clear"

и запустить его из консоли [Salil @ localhost Desktop] $ check.rb

o / p

[Salil@localhost Desktop]$ ruby check.rb
amit
[Salil@localhost Desktop]$ 

теперь измените check.rb и запустите его из консоли

puts "amit"
system "clear"

o / p

[Salil@localhost Desktop]$ 
1 голос
/ 23 февраля 2017

Работает в UNIX:

system("clear")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...