You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nim语言Table赋值时出现Type mismatch错误求助

Nim std/tables 类型不匹配错误解决方法

你编写的Nim代码:

import std/tables
let tableTest = initTable[int, string]()
tableTest[2] = "hello world"

运行时出现的类型不匹配错误,核心原因是用let声明的Table是不可变的,而[]=赋值操作需要操作可变的Table实例。

修正后的代码

import std/tables
var tableTest = initTable[int, string]()
tableTest[2] = "hello world"

原因说明

  • Nim中let用于创建不可变绑定,变量初始化后无法修改其内容;
  • var用于创建可变变量,支持后续的赋值、修改操作;
  • std/tables库的[]=过程要求第一个参数是var Table[A,B]类型,所以必须用var来声明你的Table变量。

内容的提问来源于stack exchange,提问作者Flare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:17:08