fre*_*low 8 haskell boolean operators pattern-matching
在Erik Meijer关于功能编程基础知识的第4章中,他基本上写道:
True &&& x | x == True = True
| x == False = False
Run Code Online (Sandbox Code Playgroud)
这不必要地冗长吗?我不能写:
True &&& x = x
Run Code Online (Sandbox Code Playgroud)
甚至:
(&&&) True = id
(&&&) False = const False
Run Code Online (Sandbox Code Playgroud)
顺便问一下,为什么我不能写下面的内容?
(True &&&) = id
(False &&&) = const False
Run Code Online (Sandbox Code Playgroud)
ghci响应:
Parse error in pattern: True &&&
Run Code Online (Sandbox Code Playgroud)
aug*_*tss 12
是的,你定义它的方式更好.来自序曲:
True && x = x
False && _ = False
Run Code Online (Sandbox Code Playgroud)
您只能在表达式中使用节,而不能在模式中使用.没有深刻的理由(True &&)不允许在一个模式中被允许.但是,这是一件非常罕见的事情,我认为这不值得复杂化.
| 归档时间: |
|
| 查看次数: |
813 次 |
| 最近记录: |