2016-10-26 103 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

相關問題