功能组合是将一个功能的输出用作另一个功能的输入的过程,如果我们学习组成背后的数学会更好,在数学中,组成由 f {g(x)} 表示,其中 g()是一个函数,其输出用作输入另一个功能,即 f()。
看下面的示例代码。在这里,我们使用函数组合来计算输入数字是偶数还是奇数。
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的输入()函数并返回输出:"This is an even Number"。
参考链接
https://www.learnfk.com/haskell/haskell-function-composition.html
标签:even,教程,函数,eveno,无涯,Haskell,noto,composition,输入 From: https://blog.51cto.com/u_14033984/8926901