如何用Ruby清除终端?
我想知道如何在Ruby中使用C中的如何用Ruby清除终端?,ruby,Ruby,我想知道如何在Ruby中使用C中的system(“clear”)做什么。 我写了一个像这样的程序 puts "amit" system("clear") 我希望在执行此命令后清除控制台,但它不工作。您可以使用以下命令 创建一个ruby文件,比如说check.rb,如下所示 puts "amit" #system "clear" 并从控制台运行它 [Salil@localhost桌面]$check.rb o/p 现在修改check.rb 并从控制台运行它 puts "amit" system
system(“clear”)
做什么。
我写了一个像这样的程序
puts "amit"
system("clear")
我希望在执行此命令后清除控制台,但它不工作。您可以使用以下命令
创建一个ruby文件,比如说check.rb,如下所示
puts "amit"
#system "clear"
并从控制台运行它
[Salil@localhost桌面]$check.rb
o/p
现在修改check.rb
并从控制台运行它
puts "amit"
system "clear"
o/p
稍加改动即可:
puts "Here's a very long string"
sleep 1
system ("cls")
标记。如果您在Mac电脑上,可以使用“Command+K”清除终端窗口。在ruby文件中尝试以下两种方法之一:
puts `clear`
或
Edit:(重读你的问题,我意识到这不是你想要的。我以为你指的是IRB。我将把它留在这里,而不是删除它,因为我觉得它可能是非常有用的信息)
归根结底,这取决于你所使用的系统
ctrl+l(如果您想要一种便携性很差的东西,可以尝试:
system "clear" || system "cls"
这将尝试
清除和cls
我使用的一种便携、压缩但通常视觉上令人满意的方法是我所说的“疯狂的putz put”:
以下是一种多平台的方法:
Gem.win_platform? ? (system "cls") : (system "clear")
如果您正在使用MAC OS,请使用:
system('clear')
对于windows用户:
只需在irb窗口中键入以下函数即可:
定义此功能:
def cls
system('cls')
end
定义后,在需要时调用此函数。这应该包括windows和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
在UNIX上工作:
system("clear")
如果你使用Pry,它非常简单
只需.clear
您可以根据要打印的终端使用系统(“clear”)
或系统(“cls”)
- 如果使用的是Windows命令提示符,请使用
系统(“cls”)
- 如果您使用的是Mac或Linux系统,只需使用系统(“清除”)
或者您可以使用一种更好的方法
count = 0
until count == 10
system("cls") || system("clear")
print count
count += 1
sleep 1
end
清除屏幕(Ruby 2.7+)
从Ruby 2.7开始,需要清除终端输出:
需要“io/控制台”
$stdout.clear_screen#或stdout.clear_screen
查看$stdout
和stdout
您运行的是什么操作系统?SCiTE不是一个编译器,它只是一个文本编辑器。这取决于某人屏幕缓冲区设置的大小,效率很低,但无论如何,您也可以执行50次{put”“}简而言之,请使用这里的第二个。为了清除屏幕而分叉一个进程的想法让我头疼。更多信息请参见此处:另外,请查看ncurses以获得更强大的控制。但是,现在您找到非ansi终端的机会几乎为零。请使用|
而不是或(请参阅)。对于像我这样的复制/粘贴者,相应的命令将是system(“cls”)| | system(“clear”)
。这可能会引发错误:语法错误,意外的字符串文字,应为“do”或“{”或“('
system(“clear”)| system(“cls”)
修复了这一问题。
Gem.win_platform? ? (system "cls") : (system "clear")
system('clear')
def cls
system('cls')
end
def method_name
puts "amit"
if RUBY_PLATFORM =~ /win32|win64|\.NET|windows|cygwin|mingw32/i
system('cls')
else
system('clear')
end
end
method_name
system("clear")
count = 0
until count == 10
system("cls") || system("clear")
print count
count += 1
sleep 1
end