[ На правах полуночого бреда ] Чет не пойму, а как мне замапить методы в ключи хеша, а потом вызвать их через перебор хеша?
andylars 15.12.2016 20:42
/ 15.12.2016 20:45
Можно ли обойтись без process?
Смысл задачи:
Есть стек процедур (хеш), где у каждой записи
есть какие-то мета-поля и собственно ссылка на сам вызов/метод.
Затык:
Но при обходе foreach-ем, junction оказывается внутри контекста foreach
и поэтому не получается его вызвать
Локализованно:
@main[]
$myobj[^MyClass_Base::create[]]
^myobj.runMap[]
#----
@CLASS
MyClass_Base
@create[][locals]
$self.Map[
$.do_smth1[ $.Type[A] $.Run{^func_do_smth1[ab]} ]
$.do_smth2[ $.Type[B] $.Run{^func_do_smth2[ab]} ]
]
@func_do_smth1[_var][locals]
$result[hello $_var]
#...
@runMap[][locals]
^self.FMap.foreach[_k;_v]{
$_v.Run
}
$result[]
Получаю: junction used outside of context
т.е. я внутри контекста foreach, а мне надо исполниться в контексте $self
с process`ом понятно, а вот без, что-то не пойму можно ли.
- [ На правах полуночого бреда ] Чет не пойму, а как мне замапить методы в ключи хеша, а потом вызвать их через перебор хеша?, andylars 15.12.2016 20:42 / 15.12.2016 20:45
- Ответ, G_Z [M] 15.12.2016 22:18
- Ответ, andylars 16.12.2016 15:58 / 16.12.2016 15:58
- Ответ, G_Z [M] 16.12.2016 20:14