Proc map 'tvori' nove polozky pole?

Pavel ©merk xsmerk na informatics.muni.cz
Čtvrtek Únor 14 12:49:45 MET 2002


Honza Pazdziora wrote:

> On Thu, Feb 14, 2002 at 10:36:13AM +0100, Pavel ©merk wrote:
>>$ perl -e '$,=","; print $a[0], scalar @a, map($_, ($a[0])), scalar @a, 
>>"\n"'
>>,0,,1,
>>
>>muze mi nekdo rict, proc tomu tak je? Procetl jsem dokumentaci k map, 
>>ale nejak jsem tam nenasel nic, co by mi to vysvetlovalo (ze ten map ma 
>>vedlejsi efekt $a[0] = undef).
> 
> U map a for dochazi k aliasovani $_ s tim prislusnym prvkem pole. Cimz
> proste ten prvek toho pole vzniknout musi, protoze jinak by nebylo
> s cim aliasovat (je muj naivni vyklad chovani).


No mne prave nejak nebylo uplne jasne, proc musi vzniknout pri tomhle 
aliasovani a nemusi vzniknout pri pouziti $a[0]. Ale je fakt, ze pri 
pouziti \$a[0] vznikne taky, takze to zrejme je docela konzistentni.

 
> Ty jsi v nejakem tymu, ktery odhaluje nejvetsi obskurnosti Perlu?
> Nejaci Python fighters? ;-)

Jenom se v tom snazim trochu programovat. ;-)

P.



Daląí informace o konferenci Perl