Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
G_Z 07.12.2015 00:08
С версии 3.4.1 есть удобная возможность принимать позиционированные аргументы в виде хеша.@call[method;*params] $object[^reflection:create[$CLASS;create]] $method[^reflection:method[$object;$method]] $result[^method[$params.0;$params.1;…]]Что не даёт возможности делать гибкие вызовы, пробрасывая произвольное количество параметров.
^call[my_method;a;b;c] @call[method;*params] $object[^reflection:create[$CLASS;create]] $method[^reflection:method[$object;$method]] $result[^method[*$params]]По аналогии с Питоном:
def test(*args): test2(*args)Аналогично можно было бы передать в качестве аргументов сформированный хеш:
$params[ $.0[a] $.1[b] ] ^method[*$params] @method[a;b] …Понимаю, что синтаксис со звёздочкой несовместим с текущей версией.