假设我有两个模块 NecessaryModule1 和 NecessaryModule2 (如Haskell 后所述:在当前目录路径中加载所有文件。然后我在 WinGHCi 和 GHCi 中都注意到,如果我这样做:
> :load NecessaryModule1
[1 of 1] Compiling NecessaryModule1 ( NecessaryModule1.hs, interpreted )
Ok, modules loaded: NecessaryModule1.
> addNumber1 2 3
5
> :load NecessaryModule2
[1 of 1] Compiling NecessaryModule2 ( NecessaryModule2.hs, interpreted )
Ok, modules loaded: NecessaryModule2.
> addNumber1 2 3
<interactive>:1:1: Not in scope: `addNumber1'
即加载NecessaryModule2 消除了NecessaryModule1 中的所有功能。
那么这是否意味着我可以同时加载 NecessaryModule1 和 NecessaryModule2 的唯一方法是使用第三个文件(同时导入 NecessaryModule1 和 NecessaryModule2)然后加载第三个文件?(例如,参见Haskell 中的 test.hs:在当前目录路径中加载所有文件)谢谢。
-------------------------------------------------- -------------------------------------
[对极客龙的回应]
嗨,如果我已经完成:load NecessaryModule1
,然后我想在 MyMod.hs 中加载模块:
--MyMod.hs
module MyMod where
import Data.List
f x = sort x
那我该怎么做呢?In Haskell : unload module in WinGHCi Riccardo 解释说:module
假设模块已经被加载。那么这是否意味着实现加载多个自定义模块的唯一方法就是通过一次:load
函数调用来加载它们呢?谢谢。