在学校的练习中
我有这个功能
bar :: Float -> Float -> Float
bar x 0 = 0
bar 0 y = 0
bar x y = x * y
我在 GHC 中将其输入为
let bar x 0 = 0; bar 0 y = 0; bar x y = x * y
并评估
bar foo 0
bar 0 foo
我被要求修改栏以使用“|”所以我想做类似的事情:
let bar x y = | x 0 = 0 | 0 y = 0 | x y = x * y
但在 ghci 我得到了
parse error on input '='
我怎样才能在 GHCi 中做到这一点?
使用模式匹配('|')的事实会改变什么吗?
查看使用守卫的语法:
bar x y | x == 0 = 0
| y == 0 = 0
| otherwise = x * y
用 GHCi 写成一行:
let bar x y | x == 0 = 0 | y == 0 = 0 | otherwise = x * y
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)