我正在尝试使用Nim Posix库,特别是文件系统统计信息:
http://nim-lang.org/docs/posix.html#Stat
从我对其他Nim模块的测试中,导入和使用应该像这样工作:
import posix
var stats: Stat
stat("/", stats)
echo stats.st_blksize
Run Code Online (Sandbox Code Playgroud)
但编译器给了我一个
Error: undeclared identifier: 'Stat'
Run Code Online (Sandbox Code Playgroud)
编译时是否需要添加一些手动包含,或者我是否遗漏了导入的内容?
您可能会将这些行放入名为的文件中posix.nim.这是一个问题,因为nim编译器将看到posix模块已经导入,并且不会在标准库中查找任何其他模块.解决方案是将程序重命名为po.nim其他内容.
一旦你通过这个不幸的行为,你会发现代码没有编译,因为statproc返回一个cint你没有分配给任何东西:
po.nim(4, 4) Error: value of type 'cint' has to be discarded
Run Code Online (Sandbox Code Playgroud)
您可以丢弃该值.以下修改版本在nimrod编译器的稳定版本0.9.4上编译并运行:
import posix
var stats: Stat
discard stat("/", stats)
echo stats.st_blksize
Run Code Online (Sandbox Code Playgroud)