parser

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

 

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

Ответ

G_Z 11.12.2015 22:08 / 11.12.2015 22:17

Пока код проходит {} или () — это присвоение.
Нет, {$code} - это не присвоение.
Я запутался.
При присвоении код присваивается, а не выполняется.
Это другой код, в процессе своего выполнения выполняющий первый. Я там выше не случайно написал {===$code===}, чтобы это было нагляднее.
Я запутался 2.
@main[]
$h[$.code{^throw[debug]}]
^t{==$h.code==}

@t[j]
^t2{$j}

@t2[j]
Don't touch evil junction.
Я примерно так и представляю себе картину:
@main[]
$h[$.code{^throw[debug]}]
^t{$h.code}[code]

@t[j;type]
$result(^reflection:is{$j}[$type])

@reflection:is[obj;type]
# тут волшебный C++-код, который может узнать тип $obj не вызвав выполнения
Если оно до волшебного кода не дойдёт в первозданном виде или если код не волшебный — тогда увы.