[ruby] 종료 메시지를 만드는 방법

프로그램을 종료하고 메시지를 표시하는 한 줄 함수 호출이 있습니까? 나는 Perl에서 다음과 같이 간단하다는 것을 알고있다.

die("Message goes here")

나는 이것을 입력하는 데 지쳤다.

puts "Message goes here"
exit



답변

abort기능은이 작업을 수행합니다. 예를 들면 다음과 같습니다.

abort("Message goes here")

참고 : abort메시지가 기록됩니다 STDERR반대로 puts에있는 기록합니다 STDOUT.


답변

코드에서 실제 오류를 나타내려면 RuntimeError예외를 발생 시킬 수 있습니다 .

raise RuntimeError, 'Message goes here'

그러면 스택 추적, 발생한 예외 유형 및 제공 한 메시지가 인쇄됩니다. 사용자에 따라 스택 추적이 너무 무서워서 실제 메시지가 노이즈에서 손실 될 수 있습니다. 반면에 실제 오류로 인해 사망하면 스택 추적에서 디버깅에 대한 추가 정보를 제공합니다.


답변

그런 기능에 대해 들어 본 적이 없지만 구현하기에는 충분하지 않습니다 …

def die(msg)
  puts msg
  exit
end

그런 다음 이것이 모든 스크립트에 포함 된 일부 .rb 파일에 정의되어 있다면 황금색입니다 …. 내장되어 있지 않다고해서 직접 할 수 없다는 것은 아닙니다. 😉


답변

프로그램이 끝날 때마다 코드를 실행하는 방법을 찾고 있습니다.
이것을 발견 :

Kernel.at_exit { puts "sayonara" }
# do whatever
# [...]
# call #exit or #abort or just let the program end
# calling #exit! will skip the call

여러 번 호출하면 여러 핸들러가 등록됩니다.


답변