我一直在阅读“学习哈斯凯尔的伟大成就”,在这一部分中:
“在脚本中放置一个代表人的字符串,然后将该脚本加载到GHCi中:
mysteryDude = "Person { firstName =\"Michael\"" ++
", lastName =\"Diamond\"" ++
", age = 43}"
我们在这样的几行中编写了字符串,以提高可读性。如果我们想读取该字符串,则需要告诉Haskell我们期望返回哪种类型:
ghci> read mysteryDude :: Person
但是我不知道如何创建'script',它位于mysteryDude.hs文件中,然后我需要用>:l mysteryDude.hs
加载它
还是什么。但是我尝试了一下,但出现了这个错误:
*Main> read mysteryDude.hs :: Person
<interactive>:50:23: error:
Not in scope: type constructor or class ‘Person’
*Main> read mysterDude.hs :: Person
我看到在网络here中,他们对其进行了更改,并且没有以相同的方式进行更改,因此,这可能是一个错误。
但是即使在此示例中有错误,我也想知道如何编写“脚本”并从中加载数据。
答案 0 :(得分:2)
从评论中我推断出问题所在。 ghci中的:l
会忘记之前的所有:l
和您在REPL中所做的所有定义。您应该:
import
都是ghci文件。同样,模块名称应与文件名称匹配。:{ :}
周围的多行代码段。不建议您