- Haskell 教程
- Haskell 主页
- Haskell 概览
- Haskell 环境设置
- Haskell 基本数据模型
- Haskell 基本运算符
- Haskell 决策制定
- Haskell 类型和类型类
- Haskell 函数
- Haskell 函数深入解析
- Haskell 函数组合
- Haskell 模块
- Haskell 输入和输出
- Haskell 函子
- Haskell 单子
- Haskell 拉链
- Haskell 有用资源
- Haskell 快速指南
- Haskell 有用资源
- Haskell 讨论
Haskell 函数组合
函数组合是指将一个函数的输出用作另一个函数的输入的过程。如果我们学习组合背后的数学知识会更好。在数学中,组合以f{g(x)}表示,其中g()是一个函数,其输出用作另一个函数的输入,即f()。
只要一个函数的输出类型与第二个函数的输入类型匹配,就可以使用任意两个函数实现函数组合。我们在 Haskell 中使用点运算符 (.) 来实现函数组合。
请参阅以下示例代码。在这里,我们使用了函数组合来计算输入数字是偶数还是奇数。
eveno :: Int -> Bool noto :: Bool -> String eveno x = if x `rem` 2 == 0 then True else False noto x = if x == True then "This is an even Number" else "This is an ODD number" main = do putStrLn "Example of Haskell Function composition" print ((noto.eveno)(16))
在这里,在main函数中,我们同时调用两个函数noto和eveno。编译器将首先使用 16 作为参数调用函数"eveno()"。此后,编译器将使用eveno方法的输出作为noto()方法的输入。
其输出如下 −
Example of Haskell Function composition "This is an even Number"
由于我们提供的输入数字为 16(偶数),eveno()函数返回true,该值将变为noto()函数的输入,并返回输出:“这是一个偶数”。
广告