在 GHCI 中,是否可以使用类似于“import qualified”的等效方式来使用我们自己的模块?类似于 :m + qualified Data.List
这样的内容,当然是无法正常工作的。
谢谢。
只需在 ghci 中键入 import qualified Data.Text
或 import qualified Data.Text as T
,就像在代码中所做的那样。
我不知道有什么好的方法可以满足你的需求,但你可以使用以下方式模拟:
:load My/Module.hs
加载你的模块。:module - My.Module
将其移出作用域。import qualified My.Module as MM
将其限定在作用域中。GHCi知道的每个模块都是自动完全限定的,因此在步骤2之后,My.Module.value
就可以正常工作。 只有在想要使用更短的前缀时才需要步骤3。
如果你想要一次性加载多个文件,:load
也可以实现;
:load My/Module1.hs My/Module2.hs ... My/ModuleN.hs
这将有效地起作用。 它将把您置于*My.Module1
的范围内,然后My.Module2
… My.ModuleN
都将按照上述方式完全限定可用。
如需了解有关GHCi的更多信息,您可以随时查看GHC 用户指南,第2章:“使用GHCi”; 特别相关的章节是§2.2,“加载源文件”和§2.4.5,“提示符实际上在范围内的是什么?”.
MyModule.hs
的文件,并且文件顶部有module MyModule where
。只需键入import qualified MyModule
即可完成。 - AJF