Proc map 'tvori' nove polozky pole?
Honza Pazdziora
adelton na informatics.muni.cz
Čtvrtek Únor 14 10:45:28 MET 2002
On Thu, Feb 14, 2002 at 10:36:13AM +0100, Pavel Šmerk wrote:
> Zdravim,
>
> $ 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).
Nejen map:
$ perl -e '$,=","; print $a[0], scalar @a, "\n"; for ($a[0]) { print
$_, scalar @a, "\n" }'
,0,
,1,
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).
Samozrejme pri map($_, @a) se to nestane.
Ty jsi v nejakem tymu, ktery odhaluje nejvetsi obskurnosti Perlu?
Nejaci Python fighters? ;-)
--
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
... all of these signs saying sorry but we're closed ...
------------------------------------------------------------------------
Další informace o konferenci Perl