Wow! Спасибо, прям пасхалка :) Про метапрограммирование - на самом деле намного проще, наверное, чем pf-framework, скорее как базовый pfClass
andylars 10.12.2014 11:11
/ 10.12.2014 11:45
Сколько еще есть чудных и интересных вещей, о которых знают только те кто ближе к разработке самого Parser3?
Может посвятить этому отдельный раздел (я помню был тред про "нестандартные решения в парсер"). Хорошо бы объеденить все сниппеты, по крайней мере я себе бережно сохраняю.
Насчет метапрограммирования - скорее нет, чем да, хотя любой кто делает движок/framework, чаще всего так или иначе прибегает к метапрограммированию,
а тут или готовое, или свое.
Да и pf-framework, пожалуй, понавороченее будет, а у меня в целом ничего сверхестественного.
Признаться честно, в pf вникать сложно, т.к. комментарии по коду не дают общего представления, как это всё вертится, заводится, где "точка входа" и в таком духе.
Но урывками, читая код - весьма интересно: про общий pfClass, про свои типы-врапперы, про роутинг, но далеко не всё понятно, а точнее общую картинку собрать не просто, читая код без туториала (эх мечты, мечты)
В том числе, в pf'е вообще есть добавление свойств методами framework'a и реализация как бы переменных rw и read-only. Это как раз пример метапрограммирования, которым я даже не заморачивался (хотя в планах общего интерфейса было).
Все на чем я пока топтался, это:
1) сделать унифицированный def, и поэтому, как минимум, 3-4 треда вокруг этого подняли кучу нативных проблем, цепляющих не один вопрос. Поэтому этот def захватил и "получение имени переменной" и попытку обращения к полям и так далее, все это из-за него "любимого"...
2) а второе, сделать на подобии pfClass, но попроще и под свои нужды, базовый класс с плюшками, который, будет давать удобный общий интерфейс. Но с этим как раз проблем никаких не возникало пока.