Jak muze moje fce zrat $_?

Honza Pazdziora adelton na informatics.muni.cz
Pondělí Srpen 16 12:20:13 MEST 1999


Pavel Smerk laskuje s parametry funkci:

> Potreboval bych umet napsat fci, ktera vezme parametr a pokud zadny
> neni, tak vezme $_. Odpovida tomu nasledujici?
> 
> sub a {
>     $a = shift;
>     $a = $_ unless defined $a;
>     ...
> }

Nikoli. Tohle nebude fungovat, pokud to zavolam

	a(undef);

Spravnejsi test bude

	sub a {
		my $a = ( @_ ? shift : $_ );
		...
		}

> A pokud ano, jak bych mohl udelat, aby mi takova fce sezrala prave jeden
> parametr (aby slo napsat print join ':', (a 2, a, "\n");)?

Prave jeden se vynuti prototypem

	sub a ($) {
		...

Ale Ty pravdepodobne potrebujes maximalne jeden, coz by bylo

	sub a (;$) {
		...

Doufam, ze to pomuze,

------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
 make vmlinux.exe			-- SGI Visual Workstation Howto
I hope to leave for vacation on Aug. 17 -- won't answer my email for one week.


Další informace o konferenci Perl