Jak alokovat pole; jak vytvorik referenci na kopii pole

Martin Sittek martin.sittek na infoprojekt.cz
Pondělí Červenec 29 15:25:43 MEST 2002


Zdravím vespolek,

sorry za subjekt - asi to není zrovna srozumitelné :-)

Měl bych dva dotazy:

- jak vytvořit (lépe řečeno inicializovat) pole na konkrétní hodnoty.
Jedná se mi o to, aby po provedení příkazu mělo pole konkrétni
počet položek, samozřejmě vím že perl alokuje pole dynamicky - jak
je potřeba. Prozatím to řeším takto:

push(@pole, undef) for 1..$pocet_polozek;

Lze něco takového provést nějak efektivněji než prostřednictvím 
cyklu for?

- jak vytvořit referenci na kopii nějakého konkrátního pole. Zatím
to řeším pomocí bloku a pomocné promenné:

my @pole = (1,2,3);
my @ref_kopie_pole;

for (my $i=0; $i<10; $i++) {
  {
    my @pom = @pole;
    $ref_kopie_pole[$i] = \@pom;
  }

  # libilo by se mi neci jako 
  # $ref_kopie_pole[$i] = \(@pole)  - ovsem to nefunguje
}

Díky za případné názory a podněty.

--
Martin Sittek


Další informace o konferenci Perl