На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
  
    > AUTOLOAD , в PHP или JavaScript
      Пишу писалку из внутреннего представления во внешнее для своего языка. И угораздило же меня с PHP связаться. Точно определил, удобнее и логичнее получилось бы вызывать функцию типа AUTOLOAD, чтобы она писала свою часть.

      Как в PHP реализовать функцию AUTOLOAD, как в Perl? Или, может, есть ещё в JavaScript такая? Тоже для моей версии подойдёт.
      Сообщение отредактировано: Tishaishii -
        Tishaishii, к сожалению помочь тебе не могу, но мне интересно...
        объясни для общего развития, что такое
        Цитата
        писалка из внутреннего представления во внешнее для своего языка
          В памяти хранится кое-какая структура данных, отпарсенная из исходника.
          Решаю задачу обратную парсингу - пишу исходный код из структуры в оперативке.
            Есть только print_r(), предоставляющая "очеловеченную" информацию о переменной. Может, скажешь по-нормальному, что делает функция AUTOLOAD?
              А что, что-то не в порядке?

              Объявляешь в Perl-пакете:
              ExpandedWrap disabled
                sub ТвойПакет::AUTOLOAD{
                   print $ТвойПакет::AUTOLOAD,"\n",
                         scalar(caller), ', ', join(', ',caller),"\n",
                         join(', ',@_)
                }


              Потом можешь вызывать любую функцию (не объявлённую) с допустимым именем из этого пакета. Вызов будет передаваться в ТвойПакет::AUTOLOAD, а информация о вызове хранится в переменных $ТвойПакет::AUTOLOAD, массиве @_ - параметры и будет выдаваться функцией "caller".

              Попробуй вызвать:
              ExpandedWrap disabled
                &ТвойПакет::ку(1, 2, 4, 6);

              или
              ExpandedWrap disabled
                &{+'ТвойПакет::'.$_}(1, 2, 3 ,5) foreach qw'a b ку кю ку_ку';


              Вот такая штука нужна в PHP или JavaScript.
              Сообщение отредактировано: Tishaishii -
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0257 ]   [ 15 queries used ]   [ Generated: 27.04.24, 23:42 GMT ]