Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vytvoriť viacrozmerné polia v Ruby

I Ruby neposkytuje explicitné podporu pre viacrozmerných polí , môžete implementovať jeden sami , ak máte základné znalosti jazyka . Tie musia byť v podstate vytvoriť " pole polí " , v ktorom každý prvok poľa uchováva ešte ďalšie pole . Ak chcete vytvoriť takú viacrozmerné polia v Ruby , môžete napísať metódu pre generovanie poľa na pole , aby kód nemusí opakovať . Pokyny
Vytvoriť viacrozmerné polia v Ruby foto 1

Napíšte kostru metódy . Táto metóda bude trvať niekoľko kótovacích argumentov a vracia prázdnu viacrozmerné polia týchto rozmerov . Napríklad , pre 10x10 polia , volanie tejto metódy MDA ( 10,10 ) : def MDA ( šírka , výška ) end
2

Vytvorte pole šírky prvkov
< . br > 3

Vytvorte rad výškových prvkov pre každý prvok v poli . To robí " pole polí " , ktorá bude použitá ako dvojrozmerné pole . Ak chcete vytvoriť prázdne pole na konkrétnu dĺžku , použite Array.new konštruktor s dĺžkou ako argument . Spočiatku , budú všetky hodnoty v poli nulová .
4

Pomocou mapy ! Spôsob , ako dobre . Mapa ! metóda opakuje každý prvok v poli , spustí blok pre každého a priradí výsledok bloku do prvku poľa . Rovnaký výsledok sa dá dosiahnuť za použitia pre slučky , ale mapa ! Metóda je výstižnejší : def MDA ( šírka , výška ) = Array.new ( šírka ) a.map ! { Array.new ( výška ) } return AEND
5

Pomocou tohto poľa s indexom ( hranaté zátvorky [ ] ) operátora . Napríklad , ak ste mali 10x10 pole s názvom " " a chcel 7,3 prvok , by ste povedali , [ 7 ] [ 3 ] : = mda ( 10,10 ) # Vyplňte pole s values ​​[ 7 ] [ ,"5 ] = " string " [ 2 ] [ 9 ] = 23 # Načítať valuesputs [ 7 ] [ 5 ] dá [ 2 ] [ 9 ]
6

Využite možnosti metóda " reťaz " volá v Ruby . Napríklad metóda Array.new vráti maticu . Môžete reťaz ďalšie volanie metódy na ktoré volať metódu na vrátenej maticu . Vzhľadom k tomu , že ste reťazenie metód , a to pomocou príkazu return , nemusíte názov premennej buď : def MDA ( šírka , výška ) Array.new ( šírka ) mapa { Array.new ( výška ) } end . !

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené