gpt4 book ai didi

haskell - 'undefined' 如何在 Haskell 中工作

转载 作者:行者123 更新时间:2023-12-03 11:05:37 27 4
gpt4 key购买 nike

我对 Haskell 中的“未定义”值很好奇。它很有趣,因为你可以把它放在任何地方,Haskell 会很高兴。以下都是a-ok

[1.0, 2.0, 3.0 , undefined]  ::[Float]
[1, 2 ,3 undefined, 102312] :: [Int]
("CATS!", undefined) :: (String, String)
....and many more

undefined 如何在幕后工作?是什么使得拥有每种数据类型的数据成为可能?我是否可以定义一个可以放在任何地方的值,或者这是一些特殊情况?

最佳答案

undefined 并没有什么特别之处.它只是一个特殊值——您可以用无限循环、崩溃或段错误来表示它。编写它的一种方法是崩溃:

undefined :: a
undefined | False = undefined

或循环:
undefined = undefined

这是一个特殊的值,可以是任何类型的元素。

由于 Haskell 是惰性的,您仍然可以在计算中使用这些值。例如。
 > length [undefined, undefined]
2

但除此之外,这只是多态性和非严格性的自然结果。

关于haskell - 'undefined' 如何在 Haskell 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16748416/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com