我的站点

一个系统软件工程师的随手涂鸦

Haskell笔记 (19)—— Guard

guard跟在函数名和参数之后,用管道符号表示:

myCompare :: (Ord a) => a -> a -> Ordering  

myCompare a b
    | a < b = LT
    | a == b = EQ
    | otherwise = GT    

guard长得和pattern类似,pattern检查输入是否符合这个pattern,而guard则会计算布尔表达式,返回TrueFalse。如果返回值是True,则执行等号后面的函数体部分。

参考资料:
Guards, guards!

Previous

htop简介

Next

docker笔记(6)—— 在docker container中执行命令的脚本

2 Comments

  1. 胡一波

    看起来就像是分支语句……
    嗯,那您现在觉得guard跟分支语句有什么区别吗?

发表评论

Powered by WordPress & Theme by Anders Norén