Как преобразовать из одного символа в строку в Nim?

В Nim у меня есть строка, которую нужно разбить на символы, но каждый символ должен быть преобразован в строку.

Прямо сейчас у меня есть что-то вроде:

var d = initTable[string,int]()
for ch in line:
   d.mgetOrPut(ch, 0) += 1

Это не удается, потому что ch это символ, а не строка. Один из вариантов - позвонить initTable с char,int, но я хотел бы знать: как я могу конвертировать ch в приведенном выше примере в строку, чтобы его можно было положить в таблицу?

1 ответ

Решение

Ты можешь использовать $, например:

import tables
from strformat import fmt

var line = "abc"
var table = {
  "a": 2,
  "b": 4,
  "c": 8
}.toTable


for x in line:
  # you can use '$' to convert the char 'x' into
  # a single character string
  # ref: https://nim-lang.org/docs/system.html#%24%2Cchar
  echo fmt"{x} is {table[$x]}"

Ссылка https://nim-lang.org/docs/system.html

Другие вопросы по тегам