如何防止从模块中导入功能?

阿卡列努克

我正在寻找类似private属性的东西,而不是与类成员一起使用,而是与模块实体一起使用。函数,类,枚举器等

例如,在二郎有一个出口属性,它是这样的:-export([fun1, fun2])只有意义fun1fun2所有的模块中的功能将出口。在D中,默认情况下似乎所有内容都可以导出,可以,但是有什么方法可以防止这种情况的发生吗?

亚当·鲁珀(Adam D.Ruppe)

在要导入的模块中,您可以将任何内容标记为私有,以防止其他模块访问它。private在模块级实体上的作用与在类成员上的作用相同-在模块外部不可访问,在模块内部可用。但是,当前它仍然可见,因此它会产生一些愚蠢的错误,例如“来自模块A的私有函数foo与来自模块B的函数foo发生冲突”,从而迫使您消除名称的歧义。(我和其他几个人希望在某个时候进行更改,因为显然这应该不是问题!)

在执行导入的模块中,您不能说“除以下内容外全部导入”,但是可以导入特定名称的列表而不导入其他名称:

import std.stdio : File, writefln;

void main() {
File f; // cool
writefln("hello"); // cool
writeln("hey"); // "Error: 'writeln' is not defined" - the selective import didn't pull this name at all
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何防止从模块中导入功能?

来自分类Dev

如何防止模块代码从python中导入的模块执行?

来自分类Dev

如何防止模块代码从python中导入的模块执行?

来自分类Dev

如何仅从我正在使用的模块中导入那些功能(pycharm)

来自分类Dev

如何不在Python模块中导入导入的子模块?

来自分类Dev

如何在Python中导入liblas模块?

来自分类Dev

如何在Python中导入liblas模块?

来自分类Dev

如何找到要在python中导入的模块

来自分类Dev

如何在IPython集群中导入模块

来自分类Dev

如何在测试中导入测试模块?

来自分类Dev

如何访问在 perl 模块中导入的变量?

来自分类Dev

(Python)为什么不在功能中导入模块,而不是在导入模块时先导入最佳方法?

来自分类Dev

在ES6模块中导入同名功能的最佳方法

来自分类Dev

虚拟环境-如何在导入的本地模块中导入?

来自分类Dev

未找到React模块-如何在React中导入模块

来自分类Dev

在Haskell中导入模块

来自分类Dev

在python中导入模块

来自分类Dev

如何在批量导入功能中导入图像?

来自分类Dev

避免在导入的模块中导入模块

来自分类Dev

如何从字符串中导入Python 3中的模块?

来自分类Dev

在Golang中导入模块时如何捕获错误?

来自分类Dev

如何在Julia中导入自定义模块

来自分类Dev

如何在PyCharm控制台中导入自己的模块

来自分类Dev

如何在MapReduce作业中导入自定义模块?

来自分类Dev

如何在Python中导入子模块(不带exec)

来自分类Dev

如何在模块中导入lib文件夹

来自分类Dev

如何在Sublime Text插件中导入Python模块?

来自分类Dev

如何在ecmascript-6中导入模块?

来自分类Dev

如何在XQuery中导入公共模块名称空间

Related 相关文章

热门标签

归档