2016-10-26 64 views
2

我希望在模块中重新定义print并导出它---只是注意到我不能:只能导出不存在的名称。 任何解决方法?模块无法导出现有名称

+0

奇怪的是,可以重新定义模块中的lib/print,并且更改在用户上下文中保持可见。 – giuliolunati

回答

3

请参阅http://www.rebol.com/r3/docs/concepts/modules-loading.html的标题下:显式引用模块。

加载模块目前不会在用户上下文中重新定义单词。 我不知道这是一个设计决定还是因为模块尚未完全烘焙。

幸运的是,有一个可怕的解决方法:DIY。

你的情况来重新定义“打印为”打印从你的模块执行以下代码的Rebol:

your-module: import %your-module-filename print: :your-module/print 

此外,加载模块之前不要尝试解封“打印,我想和这也不起作用,所以,另一个SO问题的话题。

+0

好。还可以在模块中定义一个'export'函数,并在主代码中调用它来完成工作。 [但请参阅http://stackoverflow.com/questions/40284088/trouble-with-export-word-in-module] – giuliolunati

相关问题