Benvenuti nella terza lezione per apprendere l'RGSS/RGSS2 ^^
Dopo aver seguito le lezioni precedenti,oggi apprenderemo gli Array e gli Hash.
Devo dire che non sono facili da capire,ma sono molto utili nella programmazione...
Gli Array e gli Hash,sono conosciuti come 'contenitori'...ma andiamo ad approfondire un pò di più la lezione dicendo cosa sono,capendone la funzione e che ruoli svolgono.
Cosa sono gli Array?
"Un array (o matrice) è un gruppo di locazioni di memoria che hanno lo stesso nome e si distinguono le une dalle altre attraverso un indice" questa è la sua definizione.
Gli array in pratica sono un insieme di variabili con lo stesso nome.
Per poterle distinguere l'una dall'altra si utilizza un indice che viene inserito all'interno di due parentesi quadre subito dopo il nome. L'indice parte da 0 e va aumentando.
ESEMPIO:
Codice: Seleziona tutto@array[0] = 22
Che cosa abbiamo fatto?
abbiamo inserito un valore(22) in un array inserendolo nel suo primo elemento...
Ogni elemento funziona esattamente come una qualunque variabile.
Altro esempio:
Codice: Seleziona tutto@array[0]
@array[1]
@array[2]
@array[3]
@array[4]
Sono tutte considerabili come variabili differenti accomunate dallo stesso nome.
Probabilmente vi starete chiedendo perchè bisogna utilizzarli se funzionano esattamente come le variabili: ora non è chiaro perchè abbiamo pochi elementi, ma immaginate di avere un array con migliaia di elementi, la comodità di poterli richiamare semplicemente tramite un indice è enorme!
Ora,immaginiamo di voler stampare il contenuto dei 5 array:
Codice: Seleziona tuttoprint @array[0]
print @array[1]
print @array[2]
print @array[3]
print @array[4]
Ma perchè ho sottolineato dei 5 array e non ho detto 4 data che i numeri arrivano fino a 4?
Come vedete l'indice parte sempre da 0 e non da 1,quindi se volete richiamare il secondo elemento dell'array dovete mettere un 2 tra le quadre.
Gli Array però,possono essere anche bidimensionali e multidimensionali.
Per definire un array bidimensionalie,usiamo:
Codice: Seleziona tuttoarray = ["Valore 1", "Valore 2", "Valore 3"]
Vediamo anche qui come poter stampare gli array.
Nel primo caso:
Codice: Seleziona tuttoarray = ["Valore 1", "Valore 2", "Valore 3"]
print array[0]
Abbiamo 'stampato' il primo elemento,che ha come valore il Valore 1...
Nel secondo caso:
Codice: Seleziona tuttoarray = [["Valore 1", "Valore 2"], ["Valore 3", "Valore 4"]]
print array[0][0]
print array[1][0]
Che cosa abbiamo fatto?
In questo caso bisogna definire il set in cui è posto l'elemento da visualizzare.
Nel primo print,abbiamo definito il primo set,scrivendo [0] e stampato il primo elemento che ha come valore il Valore1,con [0].
Stessa cosa per il secondo print...abbiamo definito il secondo set,scrivendo [1] e stampato il primo elemento di esso che come valore ha Valore 3,con [0].
Vi mostro un'immagine per capire che cosa intendo per 'set':


Ora spiegheremo che cosa è un Hash.
Che cosa sono gli hash?
Gli hash,sono simile agli array,salvo che l'indicizzazione è fatto tramite chiavi arbitrarie di qualsiasi tipo.
Definiamo un hash
Per definire un hash,utilizziamo la chiave =>valore...Così:
Codice: Seleziona tuttohash = {1 => "Uno", 2 => "Due"}
Come gli array,possiamo definire una hash multidimensionale:
Codice: Seleziona tuttohash = {"numeri" => [1,2,3], "scritte" => ["Uno", "Due", "Tre"]}
Come potete vedere,fondamentalmente il concetto è quasi uguale agli array...
Accesso ai valori di un hash
In primo luogo,andiamo al nostro primo hash bidimensionale.
Anche qui,faccio degli esempi per far visualizzare i valori:
Codice: Seleziona tuttohash = {1 => "Uno", 2 => "Due"}
print hash[1]
print hash[2]
Che cosa è successo?
Prima è stato visualizzato sullo schermo il valore "Uno" e poi "Due",giusto?
Questo perchè la chiave 1,è collegata al valore "Uno",e la stessa cosa accade per la chiave 2...
Ecco una'ltro esempio:
Codice: Seleziona tuttohash = {"ally" => "Scripter", "dragon7" => "Gay"}
print hash["ally"]
print hash["dragon7"]
Il primo risultato è stato Scripter,e poi Gay.
Abbiamo fatto la stessa cosa,a differenza che in questo caso,le chiavi erano stringhe...
Ora,vediamo un hash multidimensionale:
Codice: Seleziona tuttohash = {"numeri" => [1,2,3], "scritte" => ["Uno", "Due", "Tre"]}
print hash["numeri"][1]
print hash["scritte"][3]
Che cosa è successo?
In primo luogo,abbiamo visualizzato il valore '2'(stessa regola dello 0 come negli array).
Poi,abbiamo visualizzato il valore "Tre"(il quarto valore,che negli array sarebbe 'Tre',non esiste nelle scritte)...
Spero di essermi spiegato bene,ma ricordo che per qualsiasi domanda,sono a vostra disposizione.
Rileggete con calma la lezione e non entrate nel panico...sembra difficile,ma una volta capito il funzionamento,è una stupidata
Esercizio 3
- Crea un array bidimensionale con 4 valori quasiasi,facendo poi visualizzare un valore qualsiasi contenuto in esso.
- Crea un array multidimensionale composto da due set e tre valori per set e fai visualizzare poi l'ultimo valore del secondo set.
- Crea un hash bidimensionale con due chiavi/valori,e fai visualizzare una delle due.
- Crea un hash multidimensionale con due set e fai visualizzare uno dei due.
Nella prossima lezione tratteremo:
- Le operazioni
| Copyright © [RGSS/RGSS2]Array & Hashes 2011. All Rights Reserved. |
















