[Moscow.pm] wtf or not ?

Ivan B. Serezhkin ivan на serezhkin.com
Вт Мар 4 02:36:28 PST 2008


Dmitry Simonov wrote:
> Прикольно. Только медленно.
> Лучше сделай создание функции в автолоаде.
а вот тут и появляется wtf.
Фишка в том, что у меня есть например конфиг:
{ BigKey =>{ smallkey =>{
            value => 'ZOMFG!',
    }  }  }
придётся имена ключей на каждом уровне обёртывать в функции пакета CFG - 
а это не правильно, если они на разных уровнях будут по одинаковому 
называтся.
у нас действительно большие конфиги.
>
> 2008/3/4 Ivan B. Serezhkin <ivan на serezhkin.com 
> <mailto:ivan на serezhkin.com>>:
>
>     Dmitry Simonov wrote:
>     > Пишу в личку, так как лист от меня письма не кушает (отвечать
>     можно в
>     > лист - прочитаю).
>     > Это хитрый вид аксессора просто, который позволяет вести private
>     > свойства.
>     А вот и нет =)
>     Это я придумал хитрый способ организации конфигов.
>     use CFG;
>     my $value=CFG->BigKey->smallkey->value;
>     Вот только есть ли что то круче этого ?
>     >
>     > 2008/3/4 Ivan B. Serezhkin <ivan на serezhkin.com
>     <mailto:ivan на serezhkin.com>
>     > <mailto:ivan на serezhkin.com <mailto:ivan на serezhkin.com>>>:
>     >
>     >     Привет.
>     >
>     >     package CFG;
>     >     our $AUTOLOAD;
>     >     our $cfg= { HUGE HASH };
>     >
>     >     sub AUTOLOAD {
>     >     my $key=shift;
>     >     my $m=$AUTOLOAD;
>     >     $m=~s/.*:://;
>     >     $key=$cfg if $key eq __PACKAGE__;
>     >     $key=$key->{$m};
>     >     return (ref $key) ? bless $key : $key;
>     >     }
>     >
>     >     sub DESTROY {
>     >     }
>     >
>     >     --
>     >     Ivan B. Serezhkin
>     >
>     >     --
>     >     Moscow.pm <http://Moscow.pm> <http://Moscow.pm> mailing list
>     >     moscow-pm на pm.org <mailto:moscow-pm на pm.org>
>     <mailto:moscow-pm на pm.org <mailto:moscow-pm на pm.org>> |
>     http://moscow.pm.org
>     >     http://mail.pm.org/mailman/listinfo/moscow-pm
>     >
>     >
>
>
>     --
>     Ivan B. Serezhkin
>
>


-- 
Ivan B. Serezhkin



Подробная информация о списке рассылки Moscow-pm