Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Perličky (5)

mj
mj (neregistrovaný)
1. 11. 2002 13:44 Nový

vhodnejsi priklad uzaveru?

celé vlákno

myslim, ze uzavery predevsim zprehlednuji kod
ono poouzit neco ve stylu

if ($debug) {
$get_addr = &prepare_load_addrs_from_array(@ARGV);
} else {
$get_addr = &prepare_load_addrs_from_dhcpconf();
}

while ( $addr = &$get_addr ) {
if ( &is_ftp_active($add) ) {
# save addr
}
}

je mnohem prehlednejsi a bude to nejspise i rychlejsi nez jine moznosti, nebo se mylim? ... :-)

Jenda
Jenda (neregistrovaný)
29. 11. 2002 22:38 Nový

Re: vhodnejsi priklad uzaveru?

celé vlákno

Obavam se, ze to rychlejsi nebude. Snad krome pripadu, ze si pri vytvareni uzaveru neco predpocitate.

Pokud by vam hodne zalezelo na rychlosti tak bych doporucoval neco jako :

use constant DEBUG => scalar(@ARGV);
...
sub get_addr {
if (DEBUG) {
udelej neco s @ARGV
} else {
udelej neco s dhcpconf()
}
zbytek kodu
}

Optimalizator totiz uz pri kompilaci pozna ktera vetev toho if()u neni potreba a odoptimalizuje ji i ten test.

Samozrejme pouze v pripade, ze DEBUG je definovano jako konstanta uz pred tim if()em.

mj
mj (neregistrovaný)
1. 11. 2002 14:00 Nový

uzavery se sdilenim promennych

celé vlákno

#uzavery se sdilenim promennych

sub prepare_sl {
my ($last) = @_;
my ( $rs_s, $rs_l );
$rs_s = sub {
if ( $last % 2 ) { $last++ }
else { $last += 2 };
print $last."\n";
};
$rs_l = sub {
if ( $last % 2 ) { $last += 2 }
else { $last ++ };
print $last."\n";
};
return ($rs_s, $rs_l );
}

( $dalsi_sudeA, $dalsi_licheA ) = prepare_sl(57);
( $dalsi_sudeB, $dalsi_licheB ) = prepare_sl(27);
&$dalsi_sudeA(); #58
&$dalsi_sudeA(); #60
&$dalsi_licheA(); #61
&$dalsi_licheB(); #29
&$dalsi_sudeB(); #30
&$dalsi_licheA(); #63
&$dalsi_licheB(); #31

# PS: neprisel nekdo nato jak vkladat do prispevku
# na rootu prog. kod? hodilo by se <PRE> a </PRE>
# nebo aslespon  

Petr Grillinger
Petr Grillinger (neregistrovaný)
6. 11. 2002 14:59 Nový

metoda "shora-dolu"

celé vlákno

Perl nepouzivam, ale zarazila me veta v uvodu clanku: "metoda shora-dolu se neda pouzit na velke projekty..." (volne).

Metoda shora-dolu je pomerne ustaleny termin pro dekompozici problemu na mensi (dilci) celky, kdy se zacina nejvyssi urovni - tedy tim co chceme ziskat. Postupne pridavame dalsi vrstvy, ktere poskytuji zakladnejsi funkce az se nakonec dostaneme na sluzby poskytovane programovacim jazykem.

Zasílat nově přidané příspěvky e-mailem