Zsh имеет две приятные функции: ключевое слово local
и концепцию массивов.Локальные массивы в zsh
local my_var # Declare variable local to this function
и
arr=(1 2 3) # Create array with 3 elements
arr+=4 # Add a fourth element
соответственно.
Идея их комбинирования (local arr=()
) неотразимая, но, видимо, просто дайте ошибку? Является ли это возможным?
"Сейчас"? Это новая вещь? – Tarrasch
Наверное, нет, но я не знаю, когда (если когда-либо) это было впервые введено. AFAIK 'local' всегда был оболочкой для' typeset', поэтому я полагаю, что это было законно, пока массивы были в 'zsh. – PythonNut
Я считаю, что этот ответ неверен. 'local -a arr = (1 2 3)' все еще дает 'zsh: неизвестный атрибут файла'. Помните, я хотел установить переменную * new * и * local * в значение массива. – Tarrasch