经过多年的OOP,我正在尝试学习haskell。我正在阅读《快乐的哈斯克尔》。它提供了以下代码:
plus :: Int -> Int -> Int
plus x y = x + y
plus' :: Int -> Int -> Int
plus' = \x -> \y -> x + y
increment :: Int -> Int
increment = plus 1
increment' :: Int -> Int
increment' = (\x -> \y -> x + y) 1
我了解 plus 和 plus' 的工作原理(它们是相同的,不同的语法)。但是增量,我不明白。
increment :: Int -> Int
意味着它需要一个 int,并返回一个 int,对吗?但在那之后,实际的功能是:
increment = plus 1
问题:
整数值增量在哪里?x符号右侧不应该有一个或其他东西=来表示函数作为输入的整数值吗?就像是:
increment _ = plus 1 x
编辑:另外,增量的定义不应该是Int -> (Int -> Int)因为它需要一个int并将它传递给一个需要一个int并返回和的函数int吗?