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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : yurik shestakov                      2:5020/400     08 Jun 2004  17:19:37
 To : Alexander Kostiuchenko
 Subject : Re: name from reference
 -------------------------------------------------------------------------------- 
 
 On Tue, Jun 08, 2004 at 08:50:05AM +0400, Alexander Kostiuchenko wrote:
 
 ys>> Может чего-то очень странного хочется?
 AK> Связывать переменные с внешними сущностям с такими же именами - разве
 AK> это так уж странно ? А my $name : ext('$name') выглядит как-то
 AK> неэстетично (обычный в таких случаях tie - еще хуже)...
 
 AK> Была мысль вместо аттрибутов писать ext { my $a; my @b; ... } (реализация
 AK> примерно следующая:
 AK> sub ext(&) { # use PadWalker
 AK>  my $vars = peek_sub( $_[0] ); my $pad = peek_my(1);
 AK>  ${$pad->{$_}} = ext("$_") for grep {/^$/} keys %$vars; # for scalars
 AK>  ... # for other types
 AK>  }
 
 Чего-то я не уловил сути в данной реализации, особенно две вещи:
    1) grep {/^$/} keys %$vars -- ты чего тут хочешь получить?
    2) не понятно, что сделает ext("$_").
 
 AK> Оказалось - PadWalker не умеет создавать переменные caller'a, только
 AK> модифицировать. Да и strict пришлось бы отключать...
 
 IMHO без грубого вмешательства во внутренности Perl такое
 не провернуть.
 
 AK> Более-менее подходит вариант с local our $name. Хотя это не совсем то -
 AK> из-за "побочного эффекта" с dynamical scoping. Так что вопрос все еще
 AK>  в силе.
 
 p.s. Что-то у меня такое чувство, что без tie тут не обойтись.
 
 AK> --
 AK> mailto: random at binet.kiev.ua                  //Александр
 -- 
 // Wfx[HP]
 --- ifmail v.2.15dev5.3
  * Origin: Unknown (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 name from reference   Alexander Kostiuchenko   08 Jun 2004 01:04:07 
 Re: name from reference   yurik shestakov   08 Jun 2004 11:13:42 
 name from reference   Alexander Kostiuchenko   08 Jun 2004 09:50:05 
 Re: name from reference   yurik shestakov   08 Jun 2004 17:19:37 
 name from reference   Alexander Kostiuchenko   08 Jun 2004 15:53:47 
 Re: name from reference   yurik shestakov   09 Jun 2004 17:23:49 
 name from reference   Alexander Kostiuchenko   10 Jun 2004 00:42:16 
 Re: name from reference   yurik shestakov   10 Jun 2004 11:29:20 
 Re: name from reference   Andrew Alakozow   08 Jun 2004 13:37:34 
Архивное /ru.perl/1006980d8b3e8.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional