Haskell:显示/获取所有用户定义函数的列表

Haskell : display/get list of all user defined functions

提问人:artella 提问时间:4/23/2012 最后编辑:artella 更新时间:4/24/2012 访问量:2274

问:

Haskell中是否有命令显示(或获取)GHCi中已加载/定义的所有用户定义函数?谢谢

Haskell GHC GHCI 翼HCI

评论


答:

10赞 Daniel Wagner 4/23/2012 #1

在 ghci 中时,使用或加载文件后。您也可以通过 浏览卸载的模块。:browse:bro:browse Foo.Bar.Baz

评论

0赞 Daniel Fischer 4/23/2012
:br现在解析为 ,要进行浏览,您需要 。:break:bro
14赞 Dan Burton 4/23/2012
:dawg应该是 GHCI 的同义词:bro
0赞 artella 4/24/2012
嗨,我试过这个,但在 WinGHCi 中“:browse”什么也没做!我按照帖子中的概述加载了文件 Haskell:在当前目录路径中加载所有文件
0赞 Ben Millwood 4/24/2012
你试过了吗?:browse ModuleName
0赞 artella 4/24/2012
啊,我没有意识到您必须指定模块名称。但是假设我有脚本来加载不同的模块。那么有没有办法查看从各个模块加载的所有函数,而不需要知道哪些模块已经加载?谢谢
23赞 Ben Millwood 4/23/2012 #2

要查看您在 ghci 提示符下进行的绑定(例如,使用 or ),请尝试 。let<-:show bindings

如果已加载某些模块,则可以用于获取已加载模块的名称,然后列出该模块范围内的所有内容。:show modules:browse ModuleName

评论

0赞 artella 4/24/2012
嗨,我试过了,但它对我不起作用。我正在使用 WinGHCi,并且我通过“:load”函数加载了函数,如帖子 Haskell 中所述:加载当前目录路径中的所有文件。但是,当我尝试“:show bindings”时,它只说“it :: Int = 7”,因为我最后调用了“addNumber2 3 4”。谢谢
0赞 Ben Millwood 4/24/2012
我编辑了说明,如果有模块,你会做什么。
0赞 artella 4/24/2012
嗨,:browse需要知道已加载哪个模块。有没有办法在不了解已加载哪些模块的情况下做到这一点?(另见下面的评论)。谢谢。
0赞 Ben Millwood 4/25/2012
我不这么认为,除非你能解析 .:show modules