Окончательный вывод на подчиненном pty теряется, если он не был закрыт в родительском. Зачем?

Это старый остаток от дней, когда для отличия выражений от операторов был больше синтаксического сахара.

В принципе, запятая была использована как разделитель элементов списка, поэтому точка с запятой использовалась как " список операторов "разделитель. Недостаток заключается в обработке нулевых элементов в списках и нулевых операторов в блоках.

В списке элементов Java использует явное ключевое слово null, но «нулевой оператор» является просто пустым линия. Разрешение существования пустой строки - это удержание из традиции, унаследованной от C.

Зачем? Особенно с инструкцией if, когда вы знаете, что никакие утверждения не выполняются: поскольку некоторые операторы if имеют побочные эффекты:

 int c;
 if ((c = in.read()) != -1);

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

30
задан Hans Lub 12 May 2014 в 21:23
поделиться