将值附加到变量并在变量前面添加值是什么意思(在 fish shell 中或一般情况下)?

将值附加到变量并在变量前面添加值是什么意思(在 fish shell 中或一般情况下)?

根据set该命令的 Fish shell 文档

附加:导致值为附加的到变量的当前值集。这可以与--前置同时追加和前置。

前置:导致值为前置的到变量的当前值集。这可以与- 附加同时附加和前置。

在日常英语中,附加方法加上, 和前置方法添加在开头。显然,这些含义不适用于鱼(或一般的计算机?),因为说我们都可以将 x 添加到 y同时也将 x 添加到 y 的开头。如果我们能做到后者,那么我们就能做到前者。也就是说,通过做后者,我们就做了前者。如果说我既从起跑线开始比赛又参加比赛是没有意义的,那么说我既在前面添加一些数据又在附加该数据也是没有意义的。

那么,这些术语对钓鱼(或在软件开发领域)意味着什么?做其中一项而不是另一项会有什么影响?明确地同时执行这两项操作意味着什么?

答案1

就像它说的那样,它既附加又前置如果给出两个选项

$ set list 1 2 3
$ set -S list
$list: set in global scope, unexported, with 3 elements
$list[1]: |1|
$list[2]: |2|
$list[3]: |3|
$ set --append --prepend list 4 5 6
$ set -S list
$list: set in global scope, unexported, with 9 elements
$list[1]: |4|
$list[2]: |5|
$list[3]: |6|
$list[4]: |1|
$list[5]: |2|
$list[6]: |3|
$list[7]: |4|
$list[8]: |5|
$list[9]: |6|

答案2

附加: 最后添加一些东西。
前置: 在开头添加一些内容。

您要添加的内容以及内容某物这取决于上下文。例如,考虑一个整数列表:

[1, 2, 3]

如果我附加4(某事),然后我得到:

[1, 2, 3, 4]
          ^

如果我那么前置5(再次,某事),我得到:

[5, 1, 2, 3, 4]
 ^

您可能会看到这一点的另一个上下文是字符串。例如,考虑一个字符串:

"abc"

如果我附加d,然后我得到:

"abcd"
    ^

如果我在前面加上 e,我会得到:

"eabcd"
 ^

如果我想追加和前置一个元素,那么我可以对同一个元素应用这两个操作。例如,假设我想追加和前置 f,我会得到:

"feabcdf"
 ^     ^

答案3

在日常英语中,附加方法加上, 和前置方法添加在开头

也许你正在想添加作为数学运算,它是可交换的:5+2 = 2+5。附加前置可以更好地定义为,词缀,或(口语)粘到

在一般使用中,附加可能或可能不暗示附加到末尾:一本书的附加ix 被附加到文本的末尾,但是你的附加ix 固定在大肠的某个地方(事实上,靠近开始处)。
但在代码上下文中,特别是字符串和数组的操作中,附加意味着粘贴到最后

所以:
前置foobar结果是foobar
前置25结果是25
附加foobar结果是barfoo
附加25结果是52

相关内容