title | actions | material | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Polia |
|
|
Keď chceme vytvoriť kolekciu niečoho, možeme použit polia. V solidity existujú dva druhy polí: fixné polia a dynamické_ polia:
// Toto pole ma fixnú dĺžku 2 prvkov:
uint[2] fixedArray;
// iné fixné pole, toto môže udržovať 5 reťazcov:
string[5] stringArray;
// dynamické pole - nemá presnú fixnú dĺžku, môže veľkosťou narastať
uint[] dynamicArray;
Môžeš taktiež vyvoriť pole štruktúr (structs). Napríklad použitím štruktúry Person
z predošlej lekcie:
Person[] people; // dynamické pole, môžeme do neho pridávať nové prvky
Spomínaš si na to, že stavové premenné su permanentne uložené na blockchaine? To znamená že vytváranie takéhoto dynamického poľa nám môže slúžiť na ukladanie štrukturovaných dát v našom kontrakte. Je to ako taká databáza.
Pole môžeš deklarovať ako public
. V takom prípade pre ne Solidity automaticky vytvorí getter metódu. Syntax je nasledovná:
Person[] public people;
Iné kontrakty by potom mohli dáta z toho poľa čítať (no nie do neho zapisovať). Je to užitočný programovací vzor pre ukladanie dát do našeho kontraktu.
Chceme aby naša aplikácia udržiavala informáciu o armáde všetkých zombie. Ďalej chceme, aby ostatné aplikácie taktiež mali k našim zombie prístup. Zombie by mali byť verejne prístupní.
- Vytvor verejné
public
poleZombie
štruktúr (structs) s názvomzombies
.