我想直接从切片指定序列(而不是迭代切片并将每个元素单独添加到序列中)。我尝试了几种不同的方法,但明显的方法似乎不起作用。
var
x = newSeq(1..n)
y: seq[int] = @[1..n]
z: seq[int] = 1..n
我唯一能做的就是从 future
导入列表推导式
var x: seq[int] = lc[x | (x <- 1..n), int]
我在文档中找不到任何不涉及从 future 导入实验内容或自己重载序列构造函数的方法。
最佳答案
https://nim-lang.org/docs/sequtils.html#toSeq.t,untyped
import sequtils
var x = toSeq 1..n
作为引用,您也可以编写自己的实现来将切片转换为 seq:
proc toSeq2[T](s: Slice[T]): seq[T] =
result = @[]
for x in s.a .. s.b:
result.add x
关于nim-lang - 如何将切片转换为序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29683811/