Jak vynutit list kontext?

Jan Kasprzak kas na fi.muni.cz
Pátek Prosinec 5 10:02:42 CET 2014


	Dobry den,

jaky je nejrozumnejsi zpusob, abych necemu vnutil seznamovy kontext?
V llama book se pise u funkce scalar:

> Oddly enough, there's no corresponding function to force list context.
> It turns out you almost never need it.  Trust us on this, too.

Tohle je potreba, kdyz chci pocet prvku vraceneho pole, ale to pole
je vracene z neceho, co ve skalarnim kontextu vraci neco jineho,
napriklad pouze prvni prvek.

Ja jsem na to narazil u file-globu, napriklad chci zjistit, kolik v adresari
mam perlovych zdrojaku:

@a = <*.pl>;
print "Pocet je ", scalar @a, ".\n";

No ale pokud fakt ten seznam nepotrebuji a potreboval bych jen pocet?
Konstrukce

$a = <*.pl>;
print "Pocet je $a.\n";

vrati jmeno prvniho perloveho zdrojaku, coz nechci. Prisel jsem tak leda
na konstrukci typu

$a = () = <*.pl>;
print "Pocet je $a.\n";

Coz sice funguje, ale nevim jestli kdyz nekdo prijde po mne, bude
na prvni pohled vedet, co tento kus kodu dela. Existuje neco elegantnejsiho?

Diky,

-Y.

-- 
| Jan "Yenya" Kasprzak   <kas at {fi.muni.cz - work | yenya.net - private}> |
| New GPG 4096R/A45477D5 -- see http://www.fi.muni.cz/~kas/pgp-rollover.txt |
| http://www.fi.muni.cz/~kas/     Journal: http://www.fi.muni.cz/~kas/blog/ |
||| Anybody who tells me serial ports work under Java has obviously been  |||
||| eating the wrong kind of mushroom.                  --Linus Torvalds  |||


Další informace o konferenci Perl