将seq [char]转换为字符串

Sp3*_*000 13 nim-lang

我遇到的情况seq[char]如下:

import sequtils
var s: seq[char] = toSeq("abc".items)
Run Code Online (Sandbox Code Playgroud)

转换s回字符串(即"abc")的最佳方法是什么?字符串化$似乎给了"@[a, b, c]",这不是我想要的.

Rei*_*nds 11

最有效的方法是编写自己的程序.

import sequtils
var s = toSeq("abc".items)

proc toString(str: seq[char]): string =
  result = newStringOfCap(len(str))
  for ch in str:
    add(result, ch)

echo toString(s)
Run Code Online (Sandbox Code Playgroud)


Rea*_*onk 6

import sequtils, strutils
var s: seq[char] = toSeq("abc".items)
echo(s.mapIt(string, $it).join)
Run Code Online (Sandbox Code Playgroud)

加入仅适用于seq[string],因此您必须先将其映射到字符串.