parser

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

 

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

править, думаю, я буду доку :)

Misha v.3 08.01.2007 14:10 / 08.01.2007 14:11

причина: мне не нравится, когда один метод может возвращать разные типы данных (строка, таблица, bool). считаю что в случае 3 -х параметров должна возвращаться строка, в случае двух - всегда таблица вне зависимости от опций. при этом можно элементарно использовать таблицу в скалярном контексте чтобы получать значение найденного количества совпадений.

т.е.:
1. не найдено - таблица с 0 строк
2. найдено - таблица с найденным количеством строк (если задана опция 'g', то может быть > 1 строки)

+ переключать результат не с помощью опция, а с помощью круглых скобок в регуларном выражении считаю неприемлемым. причина - нечитабельность, например: $uVar[^sText.match[^untaint[regexp]{$sRegExp}]] - что будет в $uVar?

можно завести отдельную новую опцию, подавляющую создание таблицы а возвращающую количество найденных совпадений (никаких bool, только int) для экономии памяти (если кнечно это возможно, т.к. поиск по шаблону делает отдельная либа, надо смотреть код).

P.S. а так '^if(^string.match[шаблон]>1){что то}{что то}' можно будет если избавиться от false в случае неудачного поиска, т.к. таблица в скалярном контексте == количество строк в ней.