Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Misha v.3 17.08.2005 13:20
...почему параметры передаем в виде хеша, а того, зачем в методе мы делаем это:@first[params][_params] $_params[^hash::create[$params]]ведь в принципе можно не делать этого и внутри метода получать доступ к полям хеша: $params.type
@first[params] ... ^second[$params]то в случае, если метод @first[] мы вызывали без параметров (^first[]) а в методе @second[] решили проверить например:
@second[params] ^if(def $params.type){сделать что-то}то мы отгребем ошибку, говорящую о том, что у строки нет метода type. это происходит из-за особенности парсера: пустая переменная превращается в строку (если переменную не передавать, как в вызове ^first[] то в $params будет void, и ошибки не будет). чтобы этого не происходило и приходится принудительно создавать хеш из того, что пришло.