Aller au contenu

Tableaux indexés et tableaux associatifs#


Tableaux indexés - déclaration et assignation#

Les tableaux peuvent contenir plusieurs valeurs indexées.

Déclaration "sur place"#

students[1]=bob 
students[0]=alice
students[2]=charlie

Déclaration avec set#

set -A students alice bob charlie

Tableaux indexés - déclaration et assignation (2)#

Déclaration composée (recommandée pour la compatibilité)#

students=(alice bob charlie)

⚠️ les tableaux indexés sont limités à 4096 éléments


Tableaux indexés - utilisation#

Obtenir une valeur#

$ echo "${students[0]}"
alice

Obtenir toutes les valeurs#

$ echo "${students[*]}"
alice bob charlie

$ echo "${students[@]}"
alice bob charlie

Tableaux indexés - utilisation (2)#

Obtenir toutes les clés#

$ echo "${!students[0]}"
0 1 2

Tableaux associatifs - déclaration et assignation#

Déclaration#

typeset -A wavelength

Assignation de valeur#

wavelength["red"]=650
wavelength["orange"]=590
wavelength["yellow"]=570
wavelength["green"]=510
wavelength["blue"]=475
wavelength["indigo"]=445
wavelength["violet"]=400

Tableaux associatifs - déclaration et assignation (suite)#

Déclaration et assignation (en même temps)#

typeset -A wavelength
wavelength=([red]=650
            [orange]=590
            [green]=510
            [blue]=475
            [indigo]=445
            [violet]=400)

Tableaux associatifs - utilisation#

Récupération d'une valeur#

echo "${wavelength["red"]}"
650

Récupération de toutes les valeurs#

echo "${wavelength[@]}"
475 400 590 510 650 570 44

Récupération de toutes les clés#

echo "${!wavelength[@]}"
red orange yellow green blue indigo violet