Guida per Principianti sugli Array negli Script Batch
Ciao a tutti, futuri programmatori! Oggi esploreremo il mondo emozionante degli array negli script Batch. Non preoccupatevi se non avete mai scritto una riga di codice prima - sarò il vostro guida amichevole in questo viaggio. Alla fine di questa guida, manipolerete gli array come un professionista!
Cos'è un Array?
Prima di immergerci, capiamo cos'è un array. Immagina di avere una scatola di matite colorate. Ogni matita è di un colore diverso, ma sono tutte conservate in una scatola. Un array è come quella scatola - è un contenitore che può contenere più elementi (chiamati elementi) dello stesso tipo.
Creare un Array
Negli script Batch, creare un array è semplice. Utilizziamo il comando set
per definire il nostro array. Creiamo un array di frutti!
@echo off
set frutti[0]=Mela
set frutti[1]=Banana
set frutti[2]=Ciliegio
set frutti[3]=Dattero
set frutti[4]=Sambuco
In questo esempio, abbiamo creato un array chiamato frutti
con cinque elementi. Ogni elemento è assegnato a un numero di indice, partendo da 0.
Consiglio professionale: Iniziate sempre l'indice del vostro array da 0. È una convenzione seguita in gran parte delle lingue di programmazione!
Accedere agli Array
Ora che abbiamo il nostro cesto di frutta (array), come scegliamo un frutto specifico? Utilizziamo il numero di indice!
@echo off
set frutti[0]=Mela
set frutti[1]=Banana
set frutti[2]=Ciliegio
echo Il primo frutto è: !frutti[0]!
echo Il secondo frutto è: !frutti[1]!
echo Il terzo frutto è: !frutti[2]!
Quando eseguite questo script, vedrete:
Il primo frutto è: Mela
Il secondo frutto è: Banana
Il terzo frutto è: Ciliegio
Notate le esclamazioni (!
) attorno alle referenze degli array. Queste sono fondamentali! Dicono a Batch di utilizzare l'espansione differita, che è necessaria per accedere agli elementi dell'array.
Modificare un Array
Che faremo se decideremo che preferiamo il Mirtillo nero alla Banana? Nessun problema! Possiamo facilmente modificare il nostro array:
@echo off
setlocal enabledelayedexpansion
set frutti[0]=Mela
set frutti[1]=Banana
set frutti[2]=Ciliegio
echo Prima: Il secondo frutto è !frutti[1]!
set frutti[1]=Mirtillo nero
echo Dopo: Il secondo frutto è !frutti[1]!
Questo script outputs:
Prima: Il secondo frutto è Banana
Dopo: Il secondo frutto è Mirtillo nero
Vedete quanto è stato facile? Abbiamo solo sostituito il secondo elemento del nostro array!
Iterare su un Array
Ora, cosa faremo se vogliamo vedere tutti i frutti nel nostro cesto? Possiamo utilizzare un ciclo for
per iterare sul nostro array:
@echo off
setlocal enabledelayedexpansion
set frutti[0]=Mela
set frutti[1]=Mirtillo nero
set frutti[2]=Ciliegio
set frutti[3]=Dattero
set frutti[4]=Sambuco
for /L %%i in (0,1,4) do (
echo Frutto %%i è: !frutti[%%i]!
)
Questo script outputs:
Frutto 0 è: Mela
Frutto 1 è: Mirtillo nero
Frutto 2 è: Ciliegio
Frutto 3 è: Dattero
Frutto 4 è: Sambuco
Ecco cosa sta succedendo:
-
/L
dice al ciclo di iterare su una gamma di numeri -
%%i
è la nostra variabile di ciclo -
(0,1,4)
significa iniziare da 0, incrementare di 1, e fermarsi a 4
Lunghezza di un Array
A differenza di alcune altre lingue di programmazione, Batch non ha un modo integrato per ottenere la lunghezza di un array. Ma non preoccupatevi! Possiamo creare una piccola soluzione alternativa:
@echo off
setlocal enabledelayedexpansion
set frutti[0]=Mela
set frutti[1]=Mirtillo nero
set frutti[2]=Ciliegio
set frutti[3]=Dattero
set frutti[4]=Sambuco
set "x=0"
:SymLoop
if defined frutti[%x%] (
set /a "x+=1"
GOTO :SymLoop
)
echo L'array frutti ha %x% elementi.
Questo script outputs:
L'array frutti ha 5 elementi.
Quello che stiamo facendo qui è contare quanti elementi sono definiti fino a quando non troviamo un elemento non definito. È come contare quante matite ci sono nella scatola fino a raggiungere una slot vuota!
Creare Strutture negli Array
Ora, diventiamo un po' più avanzati. Possiamo utilizzare gli array per creare strutture più complesse. Creiamo un "database" di frutti con i loro colori!
@echo off
setlocal enabledelayedexpansion
set "frutti[0].nome=Mela"
set "frutti[0].colore=Rosso"
set "frutti[1].nome=Banana"
set "frutti[1].colore=Giallo"
set "frutti[2].nome=Mirtilli"
set "frutti[2].colore=Blu"
for /L %%i in (0,1,2) do (
echo Frutto %%i è un !frutti[%%i].colore! !frutti[%%i].nome!
)
Questo outputs:
Frutto 0 è un Rosso Mela
Frutto 1 è un Giallo Banana
Frutto 2 è un Blu Mirtilli
Abbiamo creato una struttura in cui ogni frutto ha un nome e un colore. È come avere una scatola di matite più dettagliata, dove ogni matita ha un colore e un nome specifico!
Conclusione
Congratulazioni! Avete appena fatto i vostri primi passi nel mondo degli array negli script Batch. Abbiamo coperto la creazione di array, l'accesso e la modifica degli elementi, l'iterazione sugli array, la ricerca della lunghezza e persino la creazione di strutture più complesse.
Ricordate, la pratica fa la perfezione. Provate a creare i vostri array, magari con i vostri libri o film preferiti. Sperimentate con diversi modi per manipolare e visualizzare i dati. Prima di sapere, utilizzerete gli array per organizzare e gestire tutte le sorti di informazioni nei vostri script!
Buon coding, e possa i vostri array sempre essere fecondi! ???
Metodo | Descrizione |
---|---|
Creare un Array | Usa set nomearray[indice]=valore
|
Accedere agli Elementi dell'Array | Usa !nomearray[indice]! con espansione differita |
Modificare un Array | Reassegna il valore con set nomearray[indice]=nuovovalore
|
Iterare su un Array | Usa un ciclo for /L
|
Trovare la Lunghezza di un Array | Usa un ciclo per contare gli elementi definiti |
Creare Strutture | Usa la notazione a punto: nomearray[indice].proprietà=valore
|
Credits: Image by storyset