|
|
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
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|