В zsh я хочу перебрать ассоциативный массив. Мне нужны и ключи, и значения. Но когда я перебираю ассоциативный массив обычно ( for x in $assoc_array
), я получаю только значения.
Все примеры, которые я посмотрел, показывают, что, учитывая ключ , вы можете получить его значение из ассоциативного массива. Моя проблема заключается в получении набора ключей для начала.
Поддерживает ли zsh перебор ключей в ассоциативном массиве?
for i in a,b c_s,d ; do KEY=${i%,*}; VAL=${i#*,}; echo $KEY" XX "$VAL; done
Ответы:
Вы можете получить как ключи, так и значения одновременно с этим изящным расширением параметра:
См. Флаги расширения параметров в руководстве по Zsh.
источник
Я продолжил поиск, задав свой вопрос, и нашел этот ответ в Unix StackExchange:
Выход:
источник
$options
. (Смотритеman zshoptions
)