码迷,mamicode.com
首页 > 其他好文 > 详细

Haskell-chp01

时间:2019-12-15 01:29:06      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:严格   等于   ble   pre   推导式   函数定义   谓词   The   函数   

-- 函数名首字母必须小写,可以包含 '来表示该函数严格求值版本(与惰性求值相对)
doubleMe x = x + x
doubleUs x y = doubleMe x + doubleMe y
doubleUs' x y = x * 2 + y * 2

-- 给小于等于100的数乘以2
doubleSmallNumber x = if x > 100 
                      then x 
                      else x * 2

-- 上述函数执行结果+1
doubleSmallNumber x = (if x > 100 then x else x * 2) + 1

{-无参函数称为定义或名字,函数定义后再也无法修改其内容,
conanO'Brien 与 字符串 "It's a-me, Conan O'Brien!" 等价-} 
conanO'Brien = "It's a-me, Conan O'Brien!"

-- 列表推导式,与数学中集合表达相似

-- 将numbers列表中的数乘以2,并返回新列表
doubleNumbers numbers = [x * 2 | x <- numbers]
-- 添加谓词
doubleNumbersPr numbers = [x * 2 | x <- numbers, x * 2 > 20]
-- 上述函数的另一个版本
doubleNumbersPr' numbers = [x | x <- doubleNumbers numbers, x > 20]

Haskell-chp01

标签:严格   等于   ble   pre   推导式   函数定义   谓词   The   函数   

原文地址:https://www.cnblogs.com/vlyf/p/12041571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!