小编CIr*_*ine的帖子

为什么Haskell报告不匹配1 = 2?

我对Haskell的模式匹配行为感到困惑.如果我在Erlang或Elixir中将1与2匹配,我希望得到匹配错误消息.在Haskell中,ghci只是默默接受匹配尝试.

使用Erlang:

2> 1 = 2.
** exception error: no match of right hand side value 2
Run Code Online (Sandbox Code Playgroud)

在iex中使用Elixir:

iex(1)> 1 = 2
** (MatchError) no match of right hand side value: 2
Run Code Online (Sandbox Code Playgroud)

但是,在ghci中使用Haskell:

Prelude> 1 = 2
Prelude> 
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么Haskell不报告匹配错误?

erlang haskell elixir pattern-matching

6
推荐指数
0
解决办法
185
查看次数

标签 统计

elixir ×1

erlang ×1

haskell ×1

pattern-matching ×1