Menu
Coddy logo textTech

Accesso agli elementi 2D

Fa parte della sezione Logica e flusso del percorso Ruby di Coddy. Lezione 11 di 56.

Per leggere o aggiornare una singola cella in un array 2D, concatenane due ricerche tramite indice: la prima seleziona la riga, la seconda la colonna.

matrix = [
  [10, 20, 30],
  [40, 50, 60],
  [70, 80, 90]
]

puts matrix[0][0]   # 10  (arriba a la izquierda)
puts matrix[1][2]   # 60  (fila 1, columna 2)
puts matrix[2][0]   # 70  (abajo a la izquierda)

Per aggiornare una cella, si usa la stessa sintassi sul lato sinistro:

matrix[0][1] = 99
puts matrix[0].inspect   # [10, 99, 30]

Due query utili sulla forma:

puts matrix.length         # 3 (numero di righe)
puts matrix[0].length      # 3 (colonne nella riga 0)

Gli indici partono da 0 e arrivano fino a length - 1. Andare oltre la fine restituisce nil invece di generare un errore.

challenge icon

Sfida

Principiante

L'array 2D matrix è dato. Leggi tre numeri interi (tre righe): r1, c1, poi v. Poi:

  1. Stampa il valore in corrispondenza di matrix[r1][c1]
  2. Imposta matrix[r1][c1] = v
  3. Stampa l'intero matrix aggiornato usando inspect

Per l'input 1 / 2 / 99, l'output è:

60
[[10, 20, 30], [40, 50, 99], [70, 80, 90]]

Provalo tu

matrix = [
  [10, 20, 30],
  [40, 50, 60],
  [70, 80, 90]
]

r1 = gets.to_i
c1 = gets.to_i
v  = gets.to_i

# TODO: stampa matrix[r1][c1], assegna v, poi stampa l'intera matrice
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Ruby online