知识图谱 + 向量检索:让 Wiki 从能用变成好用
2026/5/16 23:08:47
Bash 允许数组在分配下标时存在“间隙”,因此有时需要确定数组中实际存在哪些元素。可以使用以下参数扩展形式来实现:
-${!array[*]}
-${!array[@]}
其中,array是数组变量的名称。与其他使用*和@的扩展一样,用引号括起来的@形式最有用,因为它会扩展为单独的单词。示例如下:
[me@linuxbox ~]$ foo=([2]=a [4]=b [6]=c) [me@linuxbox ~]$ for i in "${foo[@]}"; do echo $i; done a b c [me@linuxbox ~]$ for i in "${!foo[@]}"; do echo $i; done 2 4 6如果需要向数组末尾追加值,仅知道数组中的元素数量并无帮助,因为*和@表示法返回的值并不能告诉我们正在使用的最大数组索引。不过,Bash 提供了一个解决方案:使用+=赋值运算符,可以自动将值追加到数组末尾。示例如下:
[m