Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Anatoly Moskovsky                    2:5020/400     11 Oct 2002  15:52:37
 To : Andrey Sapozhnikov
 Subject : Re: hash: автосоздание не существующих ключей
 -------------------------------------------------------------------------------- 
 
 Hi!
 *** Andrey Sapozhnikov wrote to Anatoly Moskovsky:
 
  AS> Да можно вообще прозрачно сделать, чтоб любое обращение вызывало
  AS> создание элемента хэша. Вот только нафига? Мне кажется кто-то опять
  AS> недочитал доку по Перлу и мудрит нечто бессмысленное, поскольку
  AS> реальная надобность в подобном коде очень маловероятна.
 
 Hу, возможно, ты прав. Приведу то, зачем мне это .
 our %vars = (aaa => 111);
 
 #это делается по многу раз  в разных частях программы.
 my $text = "...$(aaa)... $(bbb)...";
 $text =~ s!\$\(([.\w]+)\)!$vars{$1}=$vars{$1}!gse;
 
 # теперь проверка на наличие ссылок на несуществующие ключи
 my @uvars = sort grep {!defined $vars{$_}} keys %vars;
 if (@uvars) {
     printf "Undefined vars: %s\n", join ", ", @uvars;
 }
 
 Hе спорю, это можно сделать и кучей других способов (например отдельный
 глобальный хеш для накопления таких ключей), но мне так показалось удобнее.
 И если бы не "$vars{$1}=$vars{$1}" так вообще бы все было здорово :)
 
 И вообще нельзя ограничивать фантазию какими-то штампами :)
 
 Bye
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: hash: автосоздание несуществующих ключей   Anatoly Moskovsky   11 Oct 2002 14:28:26 
 Re: hash: автосоздание не существующих ключей   Andrey Sapozhnikov   11 Oct 2002 15:19:45 
 Re: hash: автосоздание не существующих ключей   Anatoly Moskovsky   11 Oct 2002 15:52:37 
Архивное /ru.perl/64815476da5a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional