parser

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

 

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

Грабли с экраном

Bitmag 08.04.2004 16:49

Некоему методу @mm требуется передать исполняемый код, как параметр:

Метод такой:
@mm[a]
something
^process{a}
something
передаваемы код такой:
^if(^a.match[\d+^$]){$z[ok]}
Конструкция по логике должна выглядеть так:
^mm[^^if(^^a.match[\d+^^$]){^$z[ok]}]
Грабли с match[\d+^^$]! Нужно на обработку регекспа передать $!

1. Если пишем просто $ - получаем ошибку в исходном коде.
2. Если пишем ^$ - получаем ошибку при ^process, для которого это тоже просто $.

^^$ - см. п1.

Как быть?

Понятно, что исполняемый код можно выгрузить в файл, потом загрузить в переменную. А как сделать прямо в основном коде?