Come definire gli array in zsh con i nomi delle chiavi forniti dall'utente
Ho appena iniziato a utilizzare zsh e non riesco a capire come definire gli array con le chiavi definite dall'utente.
(Sto seguendo le documentazioni sugli array:http://zsh.sourceforge.net/Doc/Release/Parameters.html#Array-Parameters)
➜ ~ array=(one [3]=three four)
zsh: no matches found: [3]=three four
Cosa sto facendo di sbagliato qui? C'è un modo per definire un array con nomi di indice definiti dall'utente come in bash?
Risposte
Questa sintassi è stata introdotta in 54b395844030342213cacba4c569a6c5e6781c46 , che è stata rilasciata per la prima volta in zsh 5.5 nell'aprile 2018. La tua versione zsh è presumibilmente più vecchia di quella.
Nelle versioni precedenti è possibile utilizzare assegnazioni separate per ogni tasto.
array=(one)
array[3]=three
array[4]=four
Nota che se vuoi un array associativo (con stringhe come chiavi, non numeri interi positivi), devi prima dichiarare l'array con typeset -A array.