声明 -a/-A 矩阵 (Bash)

declare -a/-A matrix (Bash)

bash编程中declare -a matrix和declare -A matrix有什么区别?

declare -A matrix
declare -a res

read_matrix() {
    local i=0
    local line
    local j
    while read -r line; do
        j=0
        IFS=,
        for v in $(echo "$line")
        do
            matrix[$i,$j]="$v"
            j=$((j+1))
        done
        i=$((i+1))
    done
}

这是 bash 脚本的一部分,该脚本使用高斯消去法计算线性方程组的解。

declare -A matrix 创建一个 关联数组 :它的键是任意字符串。这是在 bash 4.0 中添加的一项功能,在以前的版本(例如 Apple 发布的 bash 3.2)中不可用,这就是为什么你的键中可以有一个逗号。

declare -a matrix 创建一个 索引数组:它的键被解释为数字。