使部分导入标识符对进口商可见(使用?)
Make parts of imported identifiers visible to an importer (using?)
在 nim 的模块中,当我们导入时,只有 public 个导入的标识符可以访问。
说:
A.nim
import bird
proc shit*(): auto = "yuk"
B.nim
import A
echo shit()
到目前为止一切都很好,但现在看:
A.nim
from bird import guano
proc shit*(smell: guano): auto = "yuk"
B.nim
import A
echo shit(guano())
结果是
b.nim(2, 11) Error: undeclared identifier: 'guano'
这需要我们:
B.nim
import a, bird
echo shit(guano())
现在可以了。
但是,我们无法知道模块的导入要求列表是什么?
拥有类似的东西将是 überpawa:
A.nim
from bird import guano
export guano # imaginary syntax
proc shit*(smell: guano): auto = "yuk"
在 C++ 中,它看起来像 class 中的 using base::member
以使类型定义可见。
怎么办?
您可以手动 export 单个符号。看起来不是很虚构的语法。
在 nim 的模块中,当我们导入时,只有 public 个导入的标识符可以访问。
说:
A.nim
import bird
proc shit*(): auto = "yuk"
B.nim
import A
echo shit()
到目前为止一切都很好,但现在看:
A.nim
from bird import guano
proc shit*(smell: guano): auto = "yuk"
B.nim
import A
echo shit(guano())
结果是
b.nim(2, 11) Error: undeclared identifier: 'guano'
这需要我们:
B.nim
import a, bird
echo shit(guano())
现在可以了。
但是,我们无法知道模块的导入要求列表是什么?
拥有类似的东西将是 überpawa:
A.nim
from bird import guano
export guano # imaginary syntax
proc shit*(smell: guano): auto = "yuk"
在 C++ 中,它看起来像 class 中的 using base::member
以使类型定义可见。
怎么办?
您可以手动 export 单个符号。看起来不是很虚构的语法。