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

> Komentarze :: článek Perl (11) - Pole - úvod

2 a viac rozmerne polia 25.7.2005 09:21
bleskone
vdaka za pekne clanky, zaujimalo by ma ci existuju viacrozmerne (aspon 2) polia resp nejake ich ekvivalenty
Re: 2 a viac rozmerne polia 25.7.2005 17:46
Jiří Václavík
Zalezi jak se na to divate. Jde priblizne o toto:

@matice = (
[prvek00, prvek01, prvek02...],
[prvek10, prvek11, prvek12...],
...
)
@matice je pole, jehoz prvky jsou odkazy na dalsi nepojmenovana pole - tudiz vlastne jde o pole ukazatelu a ne o typicke 2rozmerne pole.

Prvky se pak volaji takto: $matice[0]->[2] nebo jednoduseji $matice[0][2].

Urcite se polim odkazu jeste bude nejaky dil venovat - ale az v souvislosti s odkazy.
Re: 2 a viac rozmerne polia 26.7.2005 23:00
bleskone
dik, je to to o co mi islo ...

riesim jeden pripad kde uz mam naplnene polia

@host_array
@meno_array


v jednom poli su ip adresy, v druhom mena, skusal som to podla Vasho prikladu priradit takto

@matice = ([@host_array], [@meno_array])

nepristupuje s k tym prvkom az tak dobre (myslene podla mojej logiky :) ked chcem aby
prvek00 bola prva IP adresa,
prvek01 bolo prve meno,
prvek10 bola druha IP adresa,
prvek11 bolo druhe meno,
...
ak sa vysledne pole naplni troska inaksie - uz je to to prave orechove ..
$counter= -1 ;
foreach $host (@host_array)
{
  $counter++ ;
  $matice [$counter][0] = $host_array[$counter] ;
  $matice [$counter][1] = $meno_array[$counter] ;
}
este raz vdaka ....
Re: 2 a viac rozmerne polia 29.7.2005 10:25
Roman Vašíček

To naplneni pole lze zapsat i jednim radkem...

$matice[$_] = [$host[$_], $meno[$_]] for (0..@host-1);
Re: 2 a viac rozmerne polia 31.7.2005 00:27
bleskone
hmm, dobree urychlenie

2 veci sme este nepreberali, :-) vlastne 3
-premennu $_ a tento zapis cyklu a ze @host ako skalar da pocet prvkov pola ...

mozno v dalsich lekciach ... :-)
Re: 2 a viac rozmerne polia 31.7.2005 12:07
Jiří Václavík
Cyklus for se timto zpusobem da take napsat (je to podobne jako konstrukce prikaz if podminka)

Promenna $_ je specialni promenna, kam se v nekterych konstrukcich ukladaji skalarni hodnoty. 1 z pripadu je prave for (foreach) - takze kdyz se neuvede nazev promenne, do ktere se hodnoty postupne ukladaji, pouzije se $_.
Re: 2 a viac rozmerne polia 31.8.2005 15:08
Hynek (Pichi) Vychodil
Otázka zní, jestli ti záleží na pořadí těch ip adres. Pak by bylo vhodnější použít rovnou hash pro překlad příslušným směrem
%ip_meno = map +($host_array[$_], $meno_array[$_]), (0..$#host_array);

KOMENTARZE
2 a viac rozmerne polia 25.7.2005 09:21 bleskone
  L Re: 2 a viac rozmerne polia 25.7.2005 17:46 Jiří Václavík
    L Re: 2 a viac rozmerne polia 26.7.2005 23:00 bleskone
      |- Re: 2 a viac rozmerne polia 29.7.2005 10:25 Roman Vašíček
      | L Re: 2 a viac rozmerne polia 31.7.2005 00:27 bleskone
      |   L Re: 2 a viac rozmerne polia 31.7.2005 12:07 Jiří Václavík
      L Re: 2 a viac rozmerne polia 31.8.2005 15:08 Hynek (Pichi) Vychodil
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4852x
2. FreeBSD
Download: 9044x
3. PCLinuxOS-2010
Download: 8541x
4. alcolix
Download: 10916x
5. Onebase Linux
Download: 9632x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6219x

1. xinetd
Download: 2383x
2. RDGS
Download: 937x
3. spkg
Download: 4693x
4. LinPacker
Download: 9918x
5. VFU File Manager
Download: 3173x
6. LeftHand Mała Księgowość
Download: 7171x
7. MISU pyFotoResize
Download: 2780x
8. Lefthand CRM
Download: 3540x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3089x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz