Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.143.228.40] |
|
Сообщ.
#1
,
|
|
|
Пишу писалку из внутреннего представления во внешнее для своего языка. И угораздило же меня с PHP связаться. Точно определил, удобнее и логичнее получилось бы вызывать функцию типа AUTOLOAD, чтобы она писала свою часть.
Как в PHP реализовать функцию AUTOLOAD, как в Perl? Или, может, есть ещё в JavaScript такая? Тоже для моей версии подойдёт. |
Сообщ.
#2
,
|
|
|
Tishaishii, к сожалению помочь тебе не могу, но мне интересно...
объясни для общего развития, что такое Цитата писалка из внутреннего представления во внешнее для своего языка |
Сообщ.
#3
,
|
|
|
В памяти хранится кое-какая структура данных, отпарсенная из исходника.
Решаю задачу обратную парсингу - пишу исходный код из структуры в оперативке. |
Сообщ.
#4
,
|
|
|
Есть только print_r(), предоставляющая "очеловеченную" информацию о переменной. Может, скажешь по-нормальному, что делает функция AUTOLOAD?
|
Сообщ.
#5
,
|
|
|
А что, что-то не в порядке?
Объявляешь в Perl-пакете: sub ТвойПакет::AUTOLOAD{ print $ТвойПакет::AUTOLOAD,"\n", scalar(caller), ', ', join(', ',caller),"\n", join(', ',@_) } Потом можешь вызывать любую функцию (не объявлённую) с допустимым именем из этого пакета. Вызов будет передаваться в ТвойПакет::AUTOLOAD, а информация о вызове хранится в переменных $ТвойПакет::AUTOLOAD, массиве @_ - параметры и будет выдаваться функцией "caller". Попробуй вызвать: &ТвойПакет::ку(1, 2, 4, 6); или &{+'ТвойПакет::'.$_}(1, 2, 3 ,5) foreach qw'a b ку кю ку_ку'; Вот такая штука нужна в PHP или JavaScript. |