프로그램을 종료하고 메시지를 표시하는 한 줄 함수 호출이 있습니까? 나는 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
여러 번 호출하면 여러 핸들러가 등록됩니다.