>> Tecnologia elettronica >  >> Casa intelligente >> Vita smart

Come creare un array multidimensionale in Ruby

Anche se Ruby non fornisce supporto esplicito per array multidimensionali, potete implementarne uno se avete conoscenze base del linguaggio. Dovete in sostanza creare un "array di array" in cui ogni elemento dell'array contiene un altro array. Per creare un array multidimensionale in Ruby, potete scrivere un metodo per generare gli array di array così il codice non deve essere ripetuto.

Creare un array multidimensionale in Ruby

Passaggio 1

Scrivete lo scheletro del metodo. Questo metodo prenderà argomenti di dimensione e restituirà un array multidimensionale vuoto di quelle dimensioni. Ad esempio, per un array 10x10, chiamate mda(10,10):
def mda(width,height)
end

Passaggio 2

Create un array di elementi width.

Passaggio 3

Create un array di elementi height per ogni elemento nell'array. Questo crea l'"array di array" usato come array bidimensionale. Per creare array vuoti di lunghezza specifica, usate il costruttore Array.new con la lunghezza come argomento. Inizialmente, tutti i valori saranno nil.

Passaggio 4

Usate anche il metodo map!. Il metodo map! itera ogni elemento in un array, esegue un blocco per ognuno e assegna il risultato del blocco all'elemento dell'array. Lo stesso risultato si ottiene con un ciclo for, ma map! è più conciso:
def mda(width,height)
a = Array.new(width)
a.map! { Array.new(height) }
return a
end

Passaggio 5

Usate questo array con l'operatore subscript (parentesi quadre []). Ad esempio, se aveste un array 10x10 chiamato "a" e voleste l'elemento 7,3, direste a[7][3]:
a = mda(10,10)
# Riempi l'array con valori
a[7][5] = "una stringa"
a[2][9] = 23
# Recupera valori
puts a[7][5]
puts a[2][9]

Passaggio 6

Sfruttate la capacità di "incatenare" chiamate di metodo in Ruby. Ad esempio, Array.new restituisce un array. Potete incatenare un'altra chiamata per chiamare un metodo sull'array restituito. Poiché incatenate i metodi, e non usate return, non serve il nome variabile:
def mda(width,height)
Array.new(width).map!{ Array.new(height) }
end

Suggerimento

Ruby è molto espressivo. Il metodo MDA può essere una singola linea di codice breve e concisa. Righe extra e parole chiave rendono il codice solo più complicato. L'istruzione return non è necessaria in Ruby. Metodi e blocchi restituiscono automaticamente il risultato dell'ultima istruzione eseguita.

  1. Come Creare un Albero Binario in C
  2. Come creare un array in Python
  3. Come Creare un Grafico 3D in Excel
  4. Come Creare un Account Email
  5. Come creare un banner pubblicitario HTML
  6. Come creare un account RocketMail