Есть ли в D оператор выхода, аналогичный тому, что используется в java, python, c/c++. Что (большой шок) завершит выполнение программы? Что-то вроде exit();
Выходная инструкция D
Ответы (1)
Если вы хотите exit
, используйте функцию C exit
.
import core.stdc.stdlib;
void main()
{
exit(-1);
}
Я не совсем уверен, как это влияет на время выполнения D и еще много чего. Возможно, вещи не убираются так, как вам обычно хотелось бы, а может быть, все в порядке. Я бы не советовал использовать его в целом, поскольку обычно есть лучшие способы справиться с выходом из программы. Но объявление функции C находится во время выполнения, поэтому его легко использовать, если вы хотите.
person
Jonathan M Davis
schedule
17.08.2011
приятно знать, что сообщество D растет! Только что посетил новый сайт и был удивлен последними релизами.
- person alexmherrmann; 18.08.2011
Релизы происходят довольно регулярно, но когда мы перенесли код на github, это действительно повысило уровень участия сообщества в разработке компилятора и стандартной библиотеки. Кроме того, в последних выпусках исправлено тонна ошибок.
- person Jonathan M Davis; 18.08.2011
Это на гитхабе? Может быть, кто-то может добавить оператор выхода.
- person alexmherrmann; 18.08.2011
Они не собираются добавлять функцию
exit
, когда она уже есть в C. Что бы он делал в любом случае, кроме вызова функции C? Выбросить исключение? Вы можете сделать это самостоятельно без вызова дополнительной функции. Просто брось. И если бы функция D exit
не делала то, что делает функция C, это просто запутало бы людей, знакомых с функцией C. Если вы хотите exit
, используйте exit
языка C. Если вы хотите использовать исключение и поймать его в основном, сделайте это. Это два совершенно разных подхода.
- person Jonathan M Davis; 18.08.2011
main
, а не через произвольное место в программе, как это произошло бы сexit
. Это приводит к лучшей обработке ошибок и облегчает понимание того, что происходит. - person Jonathan M Davis   schedule 18.08.2011