parser

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

 

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

есть такая буква...

Misha v.3 26.05.2006 13:47

именно из-за этого у меня в куче методов можно обнаружить конструкцию:
$hParam[^hash::create[$hParam]]
причина та-же самая: я вызываю метод, который может принимать параметр-хеш. но может и не принимать. т.е. если я могу вызвать так ^method[$hParam] и так ^method[]

допустим этот метод вызывает ещё один метод, и передает ему то, что ему пришло:
^anotherMethod[$hParam]
в этом случае если ему пришел хеш, то во второй метод передастся хеш, а если пришел void, то передастся... строка (пустая). и если я в @anotherMethod[] обращусь к $hParam.field то в случае строки я отгребу ошибку.

в большинстве случаев мне это не мешает, т.к. я обычно не проверяю на is void, а проверяю на !def, а вот если def, то начинаю разбираться с типами.

почему сейчас это так думаю вам расскажет ПАФ (мне он не раз это уже рассказывал, однако так убедительно повторить его точку зрения на эту "фичу" я не могу) :)