我目前仍在进一步了解 Haskell,在模式匹配主题下,它在 Haskell 中意味着什么_ && _ = False?我在一张讲座幻灯片中看到了这个陈述,比如下划线是什么意思?再次感谢!
Rob*_*ong 10
下划线是通配符。也就是说,它们匹配任何值,但不将该值绑定到名称。这种用法的一个常见示例是:
True && True = True
_ && _ = False
Run Code Online (Sandbox Code Playgroud)
下划线表示通配符。它与任何值绑定。因此,这意味着对于给定类型的函数的左操作数和右操作数的任何值,它将触发该子句,从而返回False。
因此,我们可以这样定义(&&) :: Bool -> Bool -> Bool:
(&&) :: Bool -> Bool -> Bool\nTrue && True = True\n_ && _ = False\nRun Code Online (Sandbox Code Playgroud)\n然而,其真正的实现(&&)在其第二个参数中是惰性的,并且实现为\xc2\xa0 [src]:
\n\nRun Code Online (Sandbox Code Playgroud)\n-- | Boolean \\"and\\"\n(&&) :: Bool -> Bool -> Bool\nTrue && x = x\nFalse && _ = False\n