programing

IRB 콘솔을 지우는 방법은 무엇입니까?

linuxpc 2023. 6. 5. 23:40
반응형

IRB 콘솔을 지우는 방법은 무엇입니까?

IRB 콘솔 화면을 어떻게 삭제합니까?

Mac OS X 또는 Linux에서는 +를 사용하여 IRB 화면을 지울 수 있습니다.

이걸 안에 던져요.%userprofile%\.irbrc그리고 당신은 좋습니다.

def cls
  system('cls')
end

IRB에서 윈도우의 화면을 지웁니다.

*nix 상자의 경우

`clear`

윈도에서

system 'cls' # works
`cls` # does not work

OSX에서

system 'clear' # works
`clear` # does not work

Command macOS에서 잘 작동합니다K.

Ubuntu 11.10 시스템에서clear대부분의 경우 irb 창이 지워집니다.반품이 가능합니다.=> True가치 인쇄물

추악한 문자들로 가득 찬 큰 혼란.

ruby-1.9.2-p290 :007 > system 'clear'

얻을 수 있는 것:

 => true 
ruby-1.9.2-p290 :007 > 

화면을 지우려면 다음을 수행합니다.

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

추신: 이것은 Linux에서 테스트되었습니다.

오늘 이것을 발견했습니다: 프라이(IRB 대안)에서, 다음으로 시작하는 입력 줄입니다..명령 셸로 전달됩니다.즉, Mac 및 Linux에서는 다음을 사용할 수 있습니다.

. clear

또한 Windows(명령 프롬프트 및 Windows 터미널)에서는 다음을 사용할 수 있습니다.

. cls

출처: 프라이.기트허브.이오

system 'clear'

레일 4.0에서도 작동해야 합니다.

Linux Mint 17에서도 ++를 사용할 수 있습니다.

또는

Ctrl IRBL 화면을 지웁니다.

puts `clear`

화면을 지운 다음 돌아갑니다.=> nilMac OS X 10.6 터미널 및 iTerm2에서 테스트되었습니다.

방법:def clear_screen if RUBY_PLATFORM =~ /win32|win64|\.NET|windows|cygwin|mingw32/i system('cls') else system('clear') end end

또는 IRB에서 사용할 수 있습니다.system('clear')

창에서는 레일 4를 사용합니다.

system('cls')

나를 위해 일했습니다.

여기에는 많은 좋은 답변들이 있지만, 저는 종종 윈도우에서 민티와 함께 리눅스 박스로 원격 접속합니다..irbrc를 사용하는 것에 대해 위에서 칭찬하지만, 다음과 같이 생각해냈습니다.

def cls
  puts "\ec\e[3J"
end

def clear
  puts "\e[H\e[2Js"
end

이렇게 하면 *nix 'clear' 동작과 Windows 'cls' 동작 모두에 대한 옵션이 제공됩니다. 이 옵션은 버퍼를 보기 전에 스크롤하는 것보다 실제로 버퍼를 축소하려는 경우에 더 유용합니다.

P.S. 유사한 변형은 .bashrc에서도 작동합니다.

alias cls='echo -e "\ec\e[3J"'

만약 누군가가 그것을 실제로 키 스트로크에 매핑할 수 있는 방법을 찾을 수 있다면, 저는 그것을 듣고 싶습니다.저는 정말로 민트티에서 작동할 cmd-kon osx와 비슷한 것을 갖고 싶습니다.

다음 메소드 추가~/.irbrc:

def clear
  conf.return_format = ""
  system('clear')
end

Cntrl-L또는Cntrl-K일반 콘솔에서 작동하지만 나는 tmux를 사용하고 있고 그것들은 tmux 창 안의 화면을 엉망으로 만듭니다.

conf.return_format = " "는 반환 값에서 0을 제거합니다.

Windows 사용자는 다음과 같이 시도합니다.

system 'cls'

OR

system('cls')

IRB 창에 있는 것처럼 보이는데,

irb(main):333:0> system 'cls'
irb(main):007:0> system('cls')

루비 1.9.3에서 저를 위해 속임수를 썼습니다.그러나 다음 명령이 작동하지 않고 반환되었습니다.=> nil,

system('clear')
system 'clear'
system `cls`       #using the backquotes below ESC Key in windows

실행 파일에 사용한 적이 있습니다.

def clear
    system("cls") || system("clear") || puts("\e[H\e[2J")
end

clear
system 'cls' 

Ruby 2.2.0 및 Rails 4.0과 함께 Windows에서 작동합니다.

저는 irb로 tty를 재설정하는 방법을 찾고 있습니다. 새 줄을 인쇄하거나 제가 입력한 내용을 보여주는 것이 아니라 일부 출력만 보여주는 것이기 때문입니다.

1.9.3-p125 :151 >   system 'reset'

드디어 저를 위해 속임수를 썼습니다!

Windows 사용자의 경우:

내용이 다음과 같은 bat 파일 이름 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]

이렇게 하면 IRB 화면이 완전히 지워지고 추가로 빈 줄과 "=> 0" 항목이 없습니다.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?결과를 인쇄해야 하는지 확인합니다.메소드를 저장한 다음 정의를 복원하는 메소드로 다시 정의했지만 잘못된 솔브를 반환하면 결과가 반향되지 않습니다.

두 번째로, 저는 ANSI 제어 문자를 몇 개 인쇄했습니다. \e[2J하고 화을청고하소면,▁clean고,\e[H커서를 화면의 왼쪽 상단 위치로 이동합니다. \e[DWindows에서 이상한 문제를 해결하는 동안에는 공백을 인쇄한 다음 커서를 뒤로 이동합니다.

마지막으로 이것은 전혀 실용적이지 않습니다.그냥 웃어요 ;)

백틱 연산자는 명령의 출력을 캡처하고 반환합니다.

s = `cls`
puts s

더 잘 될 것 같습니다.

언급URL : https://stackoverflow.com/questions/116593/how-do-you-clear-the-irb-console

반응형