问题标签 [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.
assign - seq assignment 是否会创建一个新的 seq 副本?
给定两个 seq,a 和 b,声明如下:
将a = b
创建一个新的 seq 复制从 b 到 a 的所有内容,或者重用 a?我有关于 shallowCopy 的问题。我不知道他们在做什么不同。
nim-lang - nim 中的“magic” pragma 是什么意思?
在浏览 Nim 项目本身的代码时,我发现一些由“magic” pragma 修饰的 proc 缺少 proc 定义(示例)。没有文档来解释编译指示,我猜 proc 的定义在其他地方并且在编译时被合并。但我仍然无法通过搜索整个项目找到定义。
我是否误解了“魔术”编译指示?它的意义是什么?以及如何使用它?
nim-lang - Nim 代码解析器
包中有可用的解析器macros
,例如parseExpr
,parseStmt
但它们是{.compileTime.}
procs。
有没有办法在运行时解析一串 Nim 代码,产生可以分析的 AST?
go - 将 Nim 代码静态链接到 Go
我正在尝试在 Linux 中将在 Nim 中创建的一些代码静态链接到 Go 应用程序中。我已经关注了Nim Backend Integration文档和一些在 Go 中链接 C 的文章,但没有得到它的工作。
这就是我目前所处的位置......
尼姆代码target.nim
:
我编译它:
去代码app.go
:
我尝试构建这两个:
这是我得到的:
所以我错过了一些东西。我正在使用 Go 1.5 和 Nim 0.11.3(开发分支)。任何建议或提示将不胜感激。
nim-lang - 为什么我的字符串为零?
我做了一个简单的程序,它读取字符直到按下回车键
但是当它尝试时echo data
,它崩溃了
这意味着data
为零。但是每次我按输入一个字符时,它都会将该字符添加到data
. 出了点问题,但在哪里?
nim-lang - 如何创建目录?
我想检查一个目录是否存在,如果不创建它。我怎样才能做到这一点?我尝试过writeFile
,因为我想在其中创建一个文件,但这似乎不起作用。
heroku - Nim 应用程序拒绝在 heroku 上运行
我正在使用 nim buildpack 在 heroku 上运行一个简单的 jester 服务器。但是,asyncnet 库有时会拒绝使用 heroku 提供的端口(每次都不同)。如果 nim 不喜欢该端口,会发生以下情况:
(我确定 58622 是 heroku 试图为程序提供数据的端口。)当我使用端口 58622 在本地运行时,服务器工作正常。为什么会这样?
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 名称。
我在这里错过了什么?
nim-lang - 当“概念”定义带有参数的方法时,程序无法编译
我有一个concept
这样的:
然后是一个尝试定义实现方法的类型concept
:
以及具有通用字段的类型,T: Foo
其构造函数接收T: Foo
:
当我创建一个 newBar
并将其传递给make
proc 以创建一个 newBaz
时,它不会编译:
错误:类型不匹配:得到(条形图)但预期为“T”
但是,如果我放弃这个y
概念,它就会编译,比如x.test is bool
并相应地更新test
proc。
我究竟做错了什么?
inheritance - 可继承的对象结构
从我的实验中,我看到可继承对象以 4 个额外字节开始(我有 32 个 cpu)。从这个观察中,我想知道:
它取决于架构吗?(即 64 cpu 为 8 个字节)
这些字节是如何使用的?是一个领域还是几个领域?
我定义了一个异构容器,它使用 copyMem 复制除了这四个字节之外的对象(我想要不使用变体的连续序列)。我应该担心什么吗?