我想将 a 转换string
为 a,seq[char]
以便可以在 sequtils 中使用一些 proc,但我遇到了toSeq
模板问题。
例如:
proc someproc(a, b: string): seq[tuple[a, b: char]] =
let
s1 = toSeq(a)
s2 = toSeq(b)
result = zip(s1, s2)
给出编译错误:
lib/pure/collections/sequtils.nim(329, 20) Error: type mismatch: got (seq[string], char)
but expected one of:
system.add(x: var string, y: char)
system.add(x: var string, y: string)
system.add(x: var seq[T], y: T)
system.add(x: var string, y: cstring)
system.add(x: var seq[T], y: openarray[T])
查看该模板:https ://github.com/Araq/Nim/blob/master/lib/pure/collections/sequtils.nim#L292
我看到序列的类型是由iter
参数决定的,在这种情况下是string
而不是char
. 这是模板中的错误,还是我错误地使用了此模板?
我正在使用一个相当新的 10.3 版本的 Nim