[Moscow.pm] Feature discussion: lvalue

Dmitry Karasik dmitry на karasik.eu.org
Сб Апр 5 09:11:46 PDT 2008


	Hi Vladimir!

On 05 ÁÐÒ 08 at 09:25, "Vladimir" (Vladimir V Perepelitsa) wrote:

 Vladimir> õ ÍÅÎÑ ÔÕÔ ×ÏÚÎÉËÌÁ ÍÙÓÌØ: ËÁË ÍÏÖÎÏ ÂÙÌÏ-ÂÙ ÒÅÁÌÉÚÏ×ÁÔØ lvalue,
 Vladimir> ...
 Vladimir> ÁÒÇÕÍÅÎÔÁÍÉ.  ô.Å. ÐÒÉ accessor() = 10; ×ÙÚÙ×ÁÅÔÓÑ ANON->(10);

÷ ÌÏÂ ÎÅ ÐÏÌÕÞÉÔÓÑ Ô.Ë. ÐÁÒÓÅÒ ÓËÁÖÅÔ "Can't modify reference constructor 
in lvalue subroutine return". üÔÏ ÍÏÖÎÏ ÏÂÏÊÔÉ ÅÓÌÉ ×ÍÅÓÔÏ ANON ×ÏÚ×ÒÁÝÁÔØ
ÏÂßÅËÔ ÐÒÉ×ÑÚÁÎÎÙÊ Ë ANON, Õ ËÏÔÏÒÏÇÏ ÐÅÒÅÇÒÕÖÅÎ ÏÐÅÒÁÔÏÒ ÐÒÉÓ×ÁÉ×ÁÎÉÑ,
ÐÒÉÍÅÒÎÏ ÔÁË:

sub TIESCALAR { bless $_[1], __PACKAGE__ }
sub FETCH     { ${ $_[0]-> () }          }
sub STORE     { ${ $_[0]-> () } = $_[1]  }

my $var;
sub accessor : lvalue {
    my $t;
    tie $t, __PACKAGE__, sub { \$var };
    $t;
} 
accessor = 42;
warn $var;


-- 
Sincerely,
	Dmitry Karasik



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