小编ExO*_*ter的帖子

Haskell 中“case”表达式的求值

我目前正在学习 Haskell 并遇到了这个表达式。

\n
statement\n   case 1 \xc2\xb4div\xc2\xb4 0 of _ -> 42\n
Run Code Online (Sandbox Code Playgroud)\n

我的直觉是,由于除以 0,这将导致运行时错误,但从测试来看,情况并非如此。

\n

我的结论是,这一定是由于 Haskell 内部的惰性求值造成的。因为_任何东西的匹配它都不会检查它与什么比较?

\n

因此,是否有人可以告诉我这个评估是否正确,如果不正确,原因是什么。另请详细说明在不实际查看表达式的情况下 case 行可以匹配的前提。

\n

haskell runtime-error case lazy-evaluation

15
推荐指数
2
解决办法
847
查看次数

标签 统计

case ×1

haskell ×1

lazy-evaluation ×1

runtime-error ×1