parser

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

 

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

Ответ

Misha v.3 07.07.2008 09:17 / 07.07.2008 12:24

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

причина довольно проста: мы считаем, что это не жизненноважная вещь, кроме того в случае большого количества параметров существенно удобнее передавать их в виде хеша, при этом читая код вызова метода сразу видно что передаётся и не нужно "считать разделители".
@method[param1; param2; param3] и уже в самом методе проверять значение, если пустое - ставить то, что нужно. Но, опять же, какой-то параметр передавать нужно. Хотя бы пустой.
с чего вы взяли, что нужно передавать пустой параметр?
если у вас описан метод, принимающий 2 параметра, то вызвать его можно и без параметров.
другое дело, что метод должен быть готово к этому.
а значений по умолчанию у нас нет, это точно.


я обычно для необязательных параметров использую хеш-параметр, а обязательные выношу в отдельные параметры.