Bash(4以上)に連想配列がある場合は、dict
その値を次のように設定してdict[apple count]=1
使用できます${dict[apple count]}
。 Zshはキー名にスペースを許可しますか?dict[apple count]=1
Zshでは動作しないので、Zshの構文が異なるようです。私がしたいことをしません。キーとしてdict["apple count"]=1
使用する代わりに、引用符をキーの一部として使用します。apple count
"apple count"
答え1
Zsh は任意の文字列をキーとして受け入れます。問題はパーサーにあります。
キーを設定するには変数を使用できます。
typeset -A dict
key='apple count'; dict[$key]=1
key=']'; dict[$key]=2
key=''; dict[$key]=3
printf %s\\n "${(k@)dict}"
答え2
(醜い)回避策は、「一般配列に要素を追加する」構文を使用することです。
dict+=('apple count' 1)
Zsh は連想配列の属性を保持するので (1 つで宣言する限り)dict['apple count']
値が存在する場合は更新します。 Zsh 5.5以降、あまり醜い方法は次のとおりです。
dict+=(['apple count']=1 ['orange count']=3)