小编pro*_*gia的帖子

为什么删除元素时,nim 中不保留序列的顺序?

我正在尝试 nim 并在处理序列时与奇怪的行为作斗争。

如果我运行这段代码:

var
    hobbies = @["Coding", "Creating", "Sports"]

echo hobbies

hobbies.add("Nature")
echo hobbies

hobbies.del(0)
echo hobbies
Run Code Online (Sandbox Code Playgroud)

我期望这个输出,因为我认为它像队列一样工作:

@["Coding", "Creating", "Sports"]
@["Coding", "Creating", "Sports", "Nature"]
@["Creating", "Sports", "Nature"]
Run Code Online (Sandbox Code Playgroud)

但我得到了这个:

@["Coding", "Creating", "Sports"]
@["Coding", "Creating", "Sports", "Nature"]
@["Nature", "Creating", "Sports"]
Run Code Online (Sandbox Code Playgroud)

通过索引删除后.del(0)"Nature"切换到索引0。

难道不应该保留订单吗?

版本:

Nim Compiler Version 1.6.14 [Linux: amd64]
Compiled at 2023-06-29
Run Code Online (Sandbox Code Playgroud)

sequence nim-lang

2
推荐指数
1
解决办法
96
查看次数

标签 统计

nim-lang ×1

sequence ×1