当前位置:  开发笔记 > 小程序 > 正文

如何在ghci中设置undefine函数

如何解决《如何在ghci中设置undefine函数》经验,为你挑选了1个好方法。

我正在开发Haskell中的程序并进行调试我创建了一些带有一些函数的文件.一些函数我声明了如何"underfined",我想在解释器(ghci)中设置这些函数.

例如:

r :: [String]
r = undefined

在ghci(:load Experimental.hs)中加载此文件后,我使用以下命令:

让r ="示例字符串"

但我有下一个例外:

"*** Exception: Prelude.undefined

我可以在ghci函数中声明,在源文件(.hs)中定义了什么?或者可能存在其他解决方案



1> leftaroundab..:

这是不可能的,主要是因为它打破了引用透明度:在"设置"函数之后,其他一些函数的结果会有所不同.(你可能会争辩说,undefined提高异常是足够清楚的,一切都是安全的,但是你需要一些方法来确保没有重新定义适当的第一个定义的函数......这都不值得麻烦.)

执行此类操作的正确方法是使未定义的值成为使用它的函数的显式参数.然后,您可以在从解释器调用该函数时更改此参数.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有