问题标签 [nim-lang]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
403 浏览

assign - seq assignment 是否会创建一个新的 seq 副本?

给定两个 seq,a 和 b,声明如下:

a = b创建一个新的 seq 复制从 b 到 a 的所有内容,或者重用 a?我有关于 shallowCopy 的问题。我不知道他们在做什么不同。

0 投票
1 回答
1074 浏览

nim-lang - nim 中的“magic” pragma 是什么意思?

在浏览 Nim 项目本身的代码时,我发现一些由“magic” pragma 修饰的 proc 缺少 proc 定义(示例)。没有文档来解释编译指示,我猜 proc 的定义在其他地方并且在编译时被合并。但我仍然无法通过搜索整个项目找到定义。

我是否误解了“魔术”编译指示?它的意义是什么?以及如何使用它?

0 投票
1 回答
635 浏览

nim-lang - Nim 代码解析器

包中有可用的解析器macros,例如parseExprparseStmt但它们是{.compileTime.}procs。

有没有办法在运行时解析一串 Nim 代码,产生可以分析的 AST?

0 投票
1 回答
871 浏览

go - 将 Nim 代码静态链接到 Go

我正在尝试在 Linux 中将在 Nim 中创建的一些代码静态链接到 Go 应用程序中。我已经关注了Nim Backend Integration文档和一些在 Go 中链接 C 的文章,但没有得到它的工作。

这就是我目前所处的位置......


尼姆代码target.nim

我编译它:


去代码app.go


我尝试构建这两个:

这是我得到的:


所以我错过了一些东西。我正在使用 Go 1.5 和 Nim 0.11.3(开发分支)。任何建议或提示将不胜感激。

0 投票
2 回答
502 浏览

nim-lang - 为什么我的字符串为零?

我做了一个简单的程序,它读取字符直到按下回车键

但是当它尝试时echo data,它崩溃了

这意味着data为零。但是每次我按输入一个字符时,它都会将该字符添加到data. 出了点问题,但在哪里?

0 投票
1 回答
543 浏览

nim-lang - 如何创建目录?

我想检查一个目录是否存在,如果不创建它。我怎样才能做到这一点?我尝试过writeFile,因为我想在其中创建一个文件,但这似乎不起作用。

0 投票
1 回答
190 浏览

heroku - Nim 应用程序拒绝在 heroku 上运行

我正在使用 nim buildpack 在 heroku 上运行一个简单的 jester 服务器。但是,asyncnet 库有时会拒绝使用 heroku 提供的端口(每次都不同)。如果 nim 不喜欢该端口,会发生以下情况:

(我确定 58622 是 heroku 试图为程序提供数据的端口。)当我使用端口 58622 在本地运行时,服务器工作正常。为什么会这样?

0 投票
1 回答
1017 浏览

windows - 如何正确创建 nim/nimrod windows dll

我想从 nim 代码创建一个 dll。但我没有注册“NimMainInner”以外的其他一些出口。即使我尝试这个简单的例子,它也不起作用:

我用nim c --app:lib libh4x.nim 和编译了它nim c -d:release --app:lib --no_main libh4x.nim

我用Nim Compiler Version 0.11.2 (2015-05-04) [Windows: i386]

检查我使用的 dll dllexp.exe。我也尝试使用 python ctypes 加载 dll,但我的导出都没有显示或可调用。不过,我可以使用 hexeditor 在生成的 dll 中看到 proc 名称。

我在这里错过了什么?

0 投票
1 回答
74 浏览

nim-lang - 当“概念”定义带有参数的方法时,程序无法编译

我有一个concept这样的:

然后是一个尝试定义实现方法的类型concept

以及具有通用字段的类型,T: Foo其构造函数接收T: Foo

当我创建一个 newBar并将其传递给makeproc 以创建一个 newBaz时,它不会编译:

错误:类型不匹配:得到(条形图)但预期为“T”

但是,如果我放弃这个y概念,它就会编译,比如x.test is bool并相应地更新testproc。

我究竟做错了什么?

0 投票
1 回答
103 浏览

inheritance - 可继承的对象结构

从我的实验中,我看到可继承对象以 4 个额外字节开始(我有 32 个 cpu)。从这个观察中,我想知道:

  • 它取决于架构吗?(即 64 cpu 为 8 个字节)

  • 这些字节是如何使用的?是一个领域还是几个领域?

  • 我定义了一个异构容器,它使用 copyMem 复制除了这四个字节之外的对象(我想要不使用变体的连续序列)。我应该担心什么吗?