Концы строк в несколько точек с запятой: приемлемы? - PullRequest
1 голос
/ 27 марта 2012

Итак, когда я работал над некоторым кодом для моего следующего обновления приложения, я заметил кое-что странное: вы можете поместить очень большое количество точек с запятой в конце операторов Objective-C, и он будет прекрасно компилироваться! Черт, он работает так же хорошо. Почему в мире это работает?

Ответы [ 2 ]

6 голосов
/ 27 марта 2012

Точки с запятой просто используются для завершения текущего оператора. Пустые операторы допускаются на C-подобных языках, например:

int len = 0;
while(str[len++]); // count the length of a null-terminated string
if (1) {} else { printf("Uh oh... this can't be happening!\n"); }

Они ничего не делают.

Помещение произвольно большого количества точек с запятой в конце строки - это крайний случай.

5 голосов
/ 27 марта 2012

Каждая лишняя точка с запятой представляет собой утверждение, которое ничего не делает.

Кроме того, простые выражения типа 0; являются юридическим кодом, который ничего не делает.

...