parser

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

 

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

"... должен возвращать результат через $result во всех вариантах своего выполнения"

moko 10.07.2009 18:54 / 10.07.2009 19:20

И этот анализ делается не во время компиляции, а во время выполнения. Нехорошо получится, если первый раз метод вызовется с пустым хешом. Парсер в результате запомнит, что метод не возвращает результат. Для увеличения совместимости там добавлена проверка, что если результат присвоен, он все равно вернется, но на практике это не всегда помогает.

Кстати обсуждаемый метод все равно с ошибкой - break должен происходить при любом первом нахождении, а здесь он не происходит при рекурсивном вызове.