Mais que faire si le tuple est plus grand que le k/v qu'un tableau associatif peut contenir ? Et si c'était 3 ou 4 éléments ? On pourrait développer ce concept :
###---------------------------------------------------
### VARIABLES
###---------------------------------------------------
myVars=(
'ya1,ya2,ya3,ya4'
'ye1,ye2,ye3,ye4'
'yo1,yo2,yo3,yo4'
)
###---------------------------------------------------
### MAIN PROGRAM
###---------------------------------------------------
### Echo all elements in the array
###---
printf '\n\n%s\n' "Print all elements in the array..."
for dataRow in "${myVars[@]}"; do
while IFS=',' read -r var1 var2 var3 var4; do
printf '%s\n' "$var1 - $var2 - $var3 - $var4"
done <<< "$dataRow"
done
Alors la sortie ressemblerait à quelque chose comme :
$ ./assoc-array-tinkering.sh
Print all elements in the array...
ya1 - ya2 - ya3 - ya4
ye1 - ye2 - ye3 - ye4
yo1 - yo2 - yo3 - yo4
Et le nombre d'éléments est désormais sans limite. Je ne cherche pas à obtenir des votes ; je pense simplement à voix haute. REF1 , REF2
7 votes
Je viens d'un milieu python et cette question est très utile !
5 votes
En regardant ceci quatre ans plus tard, je me demande s'il n'y a toujours pas de meilleure façon de faire. omg.
0 votes
Presque 8 ans plus tard, je me suis également demandé s'il n'y avait toujours pas de meilleure façon de procéder. Mais cette réponse de 2018 me semble plutôt bonne : stackoverflow.com/a/52228219/463994