Сведения о вопросе

Drake

12:54, 17th August, 2020

Теги

ruby    

Как создать сообщение о выходе

Просмотров: 313   Ответов: 4

Существует ли вызов функции одной строки, которая завершает работу программы и выводит сообщение? Я знаю, что в Perl это так же просто, как:

die("Message goes here")

Я устал печатать это:

puts "Message goes here"
exit



  Сведения об ответе

SKY

18:57, 11th August, 2020

Это делает функция abort . Например:

abort("Message goes here")

Примечание: сообщение abort будет записано в STDERR , а не в puts , который будет писать в STDOUT .


  Сведения об ответе

DAAA

23:28, 9th August, 2020

Если вы хотите обозначить фактическую ошибку в коде, вы можете вызвать исключение RuntimeError :

raise RuntimeError, 'Message goes here'

При этом будет выведен stacktrace, тип создаваемого исключения и предоставленное сообщение. В зависимости от ваших пользователей, stacktrace может быть слишком страшным, и фактическое сообщение может потеряться в шуме. С другой стороны, если вы умрете из-за фактической ошибки, stacktrace даст вам дополнительную информацию для отладки.


  Сведения об ответе

#hash

14:52, 14th August, 2020

Я никогда не слышал о такой функции, но она была бы достаточно тривиальной для реализации...

def die(msg)
  puts msg
  exit
end

Тогда, если это определено в каком-то файле .rb, который вы включаете во все свои скрипты, вы-Золотой.... просто потому, что он не встроен, не означает, что вы не можете сделать это сами ;-)


  Сведения об ответе

DO__IT

17:05, 17th August, 2020

Я пришел сюда в поисках способа выполнить некоторый код, когда программа заканчивается.
Найти это :

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

При многократном вызове будет зарегистрировано несколько обработчиков.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться