1. kamerák
  2. Car Audio & Electronics
  3. Home Audio
  4. Personal Audio
  5. TV-k
  6. Okos otthon
  >> Elektronikai Technológia Online >  >> Okos otthon >> Okos élet

Többdimenziós tömb létrehozása Rubyban

Hogyan készítsünk többdimenziós tömböt Rubyban. Bár a Ruby nem nyújt kifejezett támogatást a többdimenziós tömbökhöz, saját maga is megvalósíthat egyet, ha rendelkezik alapvető nyelvtudással. Lényegében létre kell hoznia egy "tömbtömböt", amelyben a tömb minden eleme egy újabb tömböt tartalmaz. Ha ilyen többdimenziós tömböt szeretne létrehozni Rubyban, írjon egy metódust, amellyel a tömbök generálhatók, így a kódot nem kell megismételni.

Többdimenziós tömb létrehozása Rubyban

1. lépés

Írd fel a módszer vázát! Ez a metódus számos dimenzió argumentumot vesz fel, és ezeknek a dimenzióknak egy üres többdimenziós tömbjét adja vissza. Például egy 10x10-es tömbhöz hívja ezt a metódust mda(10,10):def mda(width,height)end

2. lépés

Hozzon létre egy tömböt a szélességű elemekből.

3. lépés

Hozzon létre egy magassági elemek tömbjét a tömb minden eleméhez. Ez teszi a "tömbök tömbjét", amelyet kétdimenziós tömbként használunk. Adott hosszúságú üres tömbök létrehozásához használja az Array.new konstruktort a hosszúsággal argumentumként. Kezdetben a tömb összes értéke nulla lesz.

4. lépés

Használd a térképet! módszert is. A térkép! A metódus egy tömb minden elemét iterálja, mindegyikhez lefuttat egy blokkot, és a blokk eredményét hozzárendeli a tömbelemhez. Ugyanezt az eredményt lehet elérni a for ciklus használatával, de a térképet! a metódus tömörebb:def mda(width,height)a =Array.new(width)a.map! { Array.new(height) }return aend

5. lépés

Használja ezt a tömböt az alsó index (szögletes zárójelek []) operátorával. Például, ha van egy 10x10-es "a" nevű tömbje, és a 7,3-as elemet szeretné, akkor a következőt kell mondania:[7][3]:a =mda(10,10)# Töltse ki a tömböt értékekkel[7][ 5] ="karakterlánc"a[2][9] =23# Értékek lekérése:a[7][5]a[2][9]

6. lépés

Használja ki a Ruby metódushívások „láncolásának” lehetőségét. Például az Array.new metódus egy tömböt ad vissza. Egy másik metódushívást láncolhat ehhez, hogy meghívjon egy metódust a visszaadott tömbön. Mivel a metódusokat láncolja, és nem használ return utasítást, nincs szüksége a változónévre sem:def mda(width,height)Array.new(width).map!{ Array.new(height) }end

Tipp

Ruby nagyon kifejező. Az MDA módszer lehet egy rövid és tömör egyetlen kódsor. Az extra sorok és kulcsszavak csak bonyolultabbá teszik a kódot, mint amilyen valójában. A return utasítás nem szükséges a Rubyban. A Ruby metódusok és blokkok automatikusan a metódusban vagy blokkban végrehajtott utolsó utasítás eredményét adják vissza.


  1. Hogyan hozzunk létre bináris fát a C-ben
  2. Tömb létrehozása Pythonban
  3. 3D diagram készítése Excelben
  4. E-mail fiók létrehozása
  5. HTML-szalaghirdetés létrehozása