parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

дело в формулировке в доке, не совсем соответствующей реальному положению дел

Misha v.3 03.07.2007 19:54 / 03.07.2007 21:05

В доке написано:
Разделитель - код, который вставляется после каждой непустой строки, кроме последней.
на самом деле это не так. реалии таковы:
разделитель — это код, который выполняется и выводится перед выводом (но после выполнения) каждой не пустой строки кроме первой.
т.е. в реалиях после выполнения первого тела вашего menu код разделителя не выполняется.

почему сделано именно так?
потому, что не вычислив результат следующей итерации (menu, foreach, while, for) невозможно определить - нужно выводить разделитель или нет.

почему в доке написано иначе?
потому, что так было проще для понимания. кроме того в часто используемом случае, когда используется разделитель-строка — никакой разницы нет (я бы вообще не давал бы возможность использовать код в разделителе). более того в foreach, for и while даже в текущей доке фигурирует корректная формулировка.