LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek Perl (12) - Pole - základní operace

Hezké, hezké 12.8.2005 16:11
Hynek (Pichi) Vychodil
Jen nevím kdy se tímto tempem dostaneme k něčemu jako:
use strict;
use warnings;
sub setif (&$$) { my $sub = shift; local ($a,$b) = @_; $_[0] = $_[1] if &$sub; }
my ($d,$c) = (1,2);
setif { $a<$b } $d,$c;
print $d,$/;
Re: Hezké, hezké 12.8.2005 16:14
Ivan Majer

No musim priznat, ze to jde ted pomaleji. Clanku o programovani se vydava ted podstatne mene, max. jeden az dva tydne....

Neni to ale v zadnem pripade chyba autora, protoze ten ma dily v administraci pripravene.

Re: Hezké, hezké 12.8.2005 18:01
Hynek (Pichi) Vychodil

No já si dělám srandu. Tohle je hodně daleko. To je spíš pro takové hračičky. Jako například takovej operátor merge. To mě přímo štve, že perlu chybí. To si ho člověk musí doprogramovat:

use strict;
use warnings;
sub merge (&\\@\\@) {
  my ($sub,$f,$s) = @_;
  my $i = 0;
  no warnings 'uninitialized';
  map { local (*a, *b) = (\\$_, \\$s->[$i++]); &$sub } @$f;
}
my @a=(1,2,3);
my @b=(4,5,6);
print "Merge result: ", join(' ', merge {$a += $b} @a, @b), $/;
print "a: @a$/";
Ale dost už ať čtenáře nevyděsím :-)

P.S.: Proč ten engine baští spětná lomítka?
Re: Hezké, hezké 12.8.2005 18:22
Hynek (Pichi) Vychodil
To no warnings je tam zbytečně. Musí se použít až v místě volání merge. Je tam pro případ, že druhé pole je menší než první. Trošku se to chová jinak než jsem čekal.
Re: Hezké, hezké 12.8.2005 18:48
Aleš Hakl

Zpetna lomitka opravena (funguje to tak jak to je mysleno, tj. ne zpetne kompatibilne).

Opravena verze vyse uvedene perlove necitelne magie:

use strict;
use warnings;
sub merge (&\@\@) {
  my ($sub,$f,$s) = @_;
  my $i = 0;
  no warnings 'uninitialized';
  map { local (*a, *b) = (\$_, \$s->[$i++]); &$sub } @$f;
}
my @a=(1,2,3);
my @b=(4,5,6);
print "Merge result: ", join(' ', merge {$a += $b} @a, @b), $/;
print "a: @a$/";

KOMENTARZE
Hezké, hezké 12.8.2005 16:11 Hynek (Pichi) Vychodil
  L Re: Hezké, hezké 12.8.2005 16:14 Ivan Majer
    L Re: Hezké, hezké 12.8.2005 18:01 Hynek (Pichi) Vychodil
      |- Re: Hezké, hezké 12.8.2005 18:22 Hynek (Pichi) Vychodil
      L Re: Hezké, hezké 12.8.2005 18:48 Aleš Hakl
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4788x
2. FreeBSD
Download: 8979x
3. PCLinuxOS-2010
Download: 8483x
4. alcolix
Download: 10792x
5. Onebase Linux
Download: 9564x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6133x

1. xinetd
Download: 2324x
2. RDGS
Download: 937x
3. spkg
Download: 4537x
4. LinPacker
Download: 9786x
5. VFU File Manager
Download: 3108x
6. LeftHand Mała Księgowość
Download: 6990x
7. MISU pyFotoResize
Download: 2695x
8. Lefthand CRM
Download: 3479x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 2991x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz