2

我正在尝试使用 Nim Posix 库,特别是文件系统统计信息:

http://nim-lang.org/docs/posix.html#Stat

根据我对其他 Nim 模块的测试,导入和使用应该是这样的:

import posix

var stats: Stat
stat("/", stats)
echo stats.st_blksize

但是编译器给了我一个

Error: undeclared identifier: 'Stat'

编译时是否必须添加一些手动包含,或者我在导入时遗漏了什么?

4

1 回答 1

6

您可能会将这些行放入名为posix.nim. 这是一个问题,因为 nim 编译器会看到 posix 模块已经被导入,并且不会在标准库中查找任何其他模块。解决方案是将您的程序重命名为po.nim或其他名称。

一旦你克服了这种不幸的行为,你会发现代码没有编译,因为statproc 返回了cint你没有分配给任何东西的 a:

po.nim(4, 4) Error: value of type 'cint' has to be discarded

您可以丢弃该值。以下修改后的版本在 nimrod 编译器的稳定版本 0.9.4 上为我编译和运行:

import posix

var stats: Stat
discard stat("/", stats)
echo stats.st_blksize
于 2014-07-01T22:58:12.247 回答