如何在Ruby中清除终端?

时间:2010-07-03 06:34:03

标签: ruby

我想知道如何在Ruby中用system("clear")在C中做什么。 我写了一个像

这样的程序
puts "amit"
system("clear")

我希望在执行此commnad后清除控制台,但它无法正常工作。

15 个答案:

答案 0 :(得分:52)

如果你想要一些含糊不清的东西,你可以尝试:

system "clear" or system "cls"

将同时尝试clearcls

答案 1 :(得分:15)

在ruby文件中尝试以下两种方法之一:

puts `clear`

puts "\e[H\e[2J"

答案 2 :(得分:15)

这是一种多平台的方式:

Gem.win_platform? ? (system "cls") : (system "clear")

答案 3 :(得分:13)

编辑:(重读你的问题我意识到这不是你所追求的。我以为你指的是IRB。我会把它留在这里而不是删除它,因为我觉得它是非常有用的信息)


最终,这取决于你所使用的系统。

ctrl + l (< - 这是一个小写的L)将清除终端( 我相信Mac上的 cmd + K

这也适用于常规终端,python interprator或mysql等

您可能希望熟悉其他相当多的快捷方式。我在快速谷歌搜索后找到了this

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

答案 4 :(得分:8)

略有变化:

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

标记。

答案 5 :(得分:4)

对于Windows用户:

只需在您的irb窗口中键入以下功能即可:

定义此功能:

def cls
  system('cls')
end

在需要时定义调用此函数。

答案 6 :(得分:4)

这应该包括Windows和OSX / Linux终端。

WindowListener

答案 7 :(得分:3)

您可以使用以下内容 创建一个ruby文件说check.rb就像下面的

puts "amit"
#system "clear"

从控制台运行它    [Salil @ localhost桌面] $ 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]$ 

答案 8 :(得分:3)

如果您使用的是MAC OS,请使用:

system('clear')

答案 9 :(得分:3)

您可以根据要打印的终端使用 system("clear") system("cls")

  • 如果您使用的是Windows命令提示符,请使用 system("cls")
  • 如果您使用的是Mac或Linux系统,只需使用 system("clear")

或者您可以使用更好的方法。检查此示例。

count = 0

until count == 10
  system("cls") || system("clear")
  print count
  count += 1
  sleep 1
end

答案 10 :(得分:1)

如果您使用的是Mac,则可以使用" Command + K"来清除终端窗口。

答案 11 :(得分:1)

我使用的便携式,折衷但通常视觉上令人满意的方法就是我所说的"疯狂的 putz puts":

counter=0
until counter == 50
puts " "
counter += 1
end

答案 12 :(得分:1)

适用于UNIX:

system("clear")

答案 13 :(得分:1)

clear_screen(Ruby 2.7 +)

从Ruby 2.7开始,有a build-in and cross-platform way用于清除终端输出:

require 'io/console'

$stdout.clear_screen # or STDOUT.clear_screen

查看$stdoutSTDOUT here之间的区别。

答案 14 :(得分:-1)

如果使用Pry,这非常简单 只是.clear