답변:
system('clear')
Mac에서도 작동합니다. 이것은 => true
콘솔의 맨 위에 남게됩니다.
* nix 박스에서
`clear`
Windows에서
system 'cls' # works
`cls` # does not work
OSX에서
system 'clear' # works
`clear` # does not work
system('clear')
하거나 Ctrl
+L
system 'clear'
나를 위해 일했지만 나는 얻었다: command not found => false
clear
위해 pryrc 파일 과 같은 별명을 추가 할 수 있습니다 . 공유해 주셔서 감사합니다
CommandmacOSK 에서 + 는 훌륭하게 작동합니다.
우분투 11.10에서 시스템 clear
은 대부분 irb 창을 지 웁니다. 반환 => True
값이 인쇄됩니다.
못생긴 텍스트의 큰 혼란
ruby-1.9.2-p290 :007 > system 'clear'
나중에 얻는 것 :
=> true
ruby-1.9.2-p290 :007 >
방금 오늘 이것을 발견했습니다 : Pry (IRB 대안)에서 a로 시작하는 입력 줄 .
이 명령 셸로 전달됩니다. Mac 및 Linux에서 다음을 사용할 수 있습니다.
. clear
업데이트 : 불행히도 Windows에서는 작동하지 않는 것 같습니다.
출처 : Pryrepl.org
. cls
는 Windows에서 작동합니다.
화면을 지우려면 다음을 수행하십시오.
puts "\e[H\e[2J"
PS 이것은 Linux에서 테스트되었습니다.
`clear`
과 동일합니다 puts %x(/usr/bin/clear)
.
Linux Mint 17에서도 Ctrl+ Shift+를 사용할 수 있습니다L
또는
Ctrl+ L IRB 화면을 지우려면
puts `clear`
화면을 지우고 => nil
Mac OSX 10.6 터미널 및 iTerm2에서 테스트됨을 반환합니다.
줄 바꿈을 인쇄하지 않았거나 어떻게 든 입력 한 내용 만 표시하기 때문에 irb로 tty를 재설정하는 방법을 찾기 위해 여기에 왔습니다.
1.9.3-p125 :151 > system 'reset'
마침내 나를 위해 속임수를 썼다!
`reset`
.
reset
잘 작동합니다
여기에 많은 대답이 있지만, 종종 Windows에서 Mintty를 사용하여 Linux 상자에 원격으로 접근합니다. .irbrc 사용에 대한 위의 설명은 있지만 이것을 생각해 냈습니다.
def cls
puts "\ec\e[3J"
end
def clear
puts "\e[H\e[2Js"
end
이것은 * nix 'clear'행동과 Windows 'cls'행동 둘 다에 대한 옵션을 제공합니다. 버퍼를 단순히 스크롤하지 않고 실제로 압축하려는 경우 더 유용합니다.
추신 : 비슷한 변형이 .bashrc에서도 작동합니다.
alias cls='echo -e "\ec\e[3J"'
누군가가 실제로 그것을 키 스트로크에 매핑하는 방법을 찾을 수 있다면, 나는 그것을 듣고 싶습니다. Mintty에서 작동하는 osx에서 cmd-k와 비슷한 것을 실제로 갖고 싶습니다.
Windows 사용자의 경우 :
내용이 다음과 같은 박쥐 파일 이름 c.bat를 만드는 경우 :
@echo off
cls
그런 다음 IRB에서 다음과 같이 말할 수 있습니다.
system('c')
콘솔을 지우려면 나는 그것이 매우 시원하다고 생각했기 때문에 공유 할 것이라고 생각했습니다. 기본적으로 경로의 모든 항목에 액세스 할 수 있습니다.
->(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]
빈 줄이없고“=> nil”이없는 IRB 화면이 완전히 지워집니다. Linux / Windows에서 테스트되었습니다.
이 하나의 라이너는 다음과 같이 확장 될 수 있습니다.
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
이것은 많은 트릭을 사용합니다.
먼저, irb는 echo?
결과가 인쇄되어야하는지 확인하기 위해 호출 합니다. 메소드를 저장 한 다음 정의를 복원하지만 false를 리턴하여 irb가 결과를 에코하지 않는 메소드로 재정의했습니다.
둘째, 일부 ANSI 제어 문자를 인쇄했습니다. \e[2J
화면을 청소하고 \e[H
커서를 화면의 왼쪽 상단으로 이동합니다. \e[D
공백을 인쇄 한 다음 커서를 뒤로 이동하면 Windows에서 이상한 문제를 해결할 수 있습니다.
마지막으로 이것은 전혀 실용적이지 않습니다. 그냥 미소;)
백틱 연산자는 명령의 출력을 캡처하여 반환합니다
s = `cls`
puts s
더 잘 작동 할 것 같아요.
cls
=> "\ f"
"\f"
당신이 무엇을 얻었는지 보여주고 이것을 왜 puts s
출력 ♀
하는지 궁금합니다.
Ctrl+L
gnome-terminal에서도 작동하지만보다 프로그래밍적인 것은system 'clear'