3
将数组传递给函数的最正确方法是什么?
考虑我有一个非常大的数组$large_list,有没有办法编写一个将数组作为参数的函数?例如: echo_idx_array () { arr="$1" idx="$2" echo "${arr[$idx]}" } 做这样的事情的通常策略是什么?我试着给变量,$large_list但它是空的。 我愿意修改该函数以使其适应参数列表中的任何更改。 作为记录,我正在使用ksh88,并且正在寻找尽可能便携的答案。 编辑:到目前为止,我能想到的最好的办法是遍历数组并将每个元素作为参数发送给函数。这看起来非常丑陋且容易出错,更不用说它一定会很快达到某个极限。这是我所做的: foo () { echo $* } cmd="foo " while [[ $i -lt $MAX_ARR_SIZE ]]; do cmd="$cmd ${large_list[$i]}" ((i=i+1)) done eval $cmd 有没有更好的事情要做?