art*_*lla 5 haskell ghc ghci winghci
命令(在GHCi中)
:load abc
Run Code Online (Sandbox Code Playgroud)
加载文件abc中的函数(必须存在于当前目录路径中).如何加载当前目录路径中的所有文件?谢谢
[回复以下帖子]
嗨Rotskoff,谢谢我尝试了你的建议,但我无法让它工作,所以我想我一定是误解了一些东西.
我创建了3个文件test.hs,test1.hs和test2.hs,如下所示:
- >
--test.hs
import NecessaryModule
Run Code Online (Sandbox Code Playgroud)
- >
--test1.hs
module NecessaryModule where
addNumber1 :: Int -> Int -> Int
addNumber1 a b = a + b
Run Code Online (Sandbox Code Playgroud)
- >
--test2.hs
module NecessaryModule where
addNumber2 :: Int -> Int -> Int
addNumber2 a b = a + b
Run Code Online (Sandbox Code Playgroud)
那时我做了:
:load test
Run Code Online (Sandbox Code Playgroud)
我收到了错误消息:
test.hs:1:8:
Could not find module `NecessaryModule':
Use -v to see a list of the files searched for.
Run Code Online (Sandbox Code Playgroud)
谢谢
谢谢.这就是我做的工作(按照Rotskoff的建议):
- >
--test.hs
import NecessaryModule1
import NecessaryModule2
Run Code Online (Sandbox Code Playgroud)
- >
--NecessaryModule1.hs
addNumber1 :: Int -> Int -> Int
addNumber1 a b = a + b
Run Code Online (Sandbox Code Playgroud)
- >
--NecessaryModule2.hs
addNumber2 :: Int -> Int -> Int
addNumber2 a b = a + b
Run Code Online (Sandbox Code Playgroud)
大概你的意思是Haskell源文件,因为你不能:load在GHCi中使用命令来做任何其他事情.
在您加载的源文件的顶部,包括以下行:
import NecessaryModule
对于每个源文件,请确保为模块命名,例如,
module NecessaryModule where
应该出现.GHCi将自动链接所有文件.
如果您尝试导入数据,请查看System.Directory文档.