鱼壳:如何将元素附加到数组

Ada*_*ran 7 fish

我正在尝试将一个元素附加到一个数组中。

我试过的是:

 for i in (seq 10)
            set children $children $line[$i]
 end
Run Code Online (Sandbox Code Playgroud)

但这不会添加新元素。它创建一个包含所有子项的单个变量,然后是一个空格和 $line[$i]。

小智 8

使用 fish 版本 2.7.1-1113-ge598cb23 (3.0 pre-alpha),您可以使用set -a(append) 或set -p(prepend)。

set -l array "tiny tim" bob
set -l children joe elias matt

echo $children
for i in (seq 2)
    set -a children $array[$i]
end
echo $children
Run Code Online (Sandbox Code Playgroud)

输出:

joe elias matt
joe elias matt tiny tim bob
Run Code Online (Sandbox Code Playgroud)

您还可以使用应该适用于最新版本的鱼​​的字符串命令。

joe elias matt
joe elias matt tiny tim bob
Run Code Online (Sandbox Code Playgroud)

输出:

joe elias matt
joe elias matt tiny tim bob
Run Code Online (Sandbox Code Playgroud)

  • 虽然这确实给出了看似正确的输出,但一些检查表明使用 string 命令会给出单个字符串而不是数组(即 echo $children[2] 给出空字符串) (2认同)