a3y*_*yko 0 haskell types function
我正在努力使用的 Haskell 函数具有以下类型
func1 :: (Integer -> Integer -> Integer) -> Integer -> Integer -> Integer
我不确定如何在实际实现中处理括号部分。我知道在这种情况下应该将一个函数传递到输入中。
(Integer -> Integer -> Integer)
当一个函数作为参数传递给你时,你最后能对它做的唯一有用的事情就是调用它。这就是函数的用途。这就是他们所做的。
例如,在这种情况下,它可能如下所示:
func1 :: (Integer -> Integer -> Integer) -> Integer -> Integer -> Integer
func1 f a b = f (a*2) (b+5)
Run Code Online (Sandbox Code Playgroud)
在这里,第一个参数被命名f,它是一个函数,它接受两个参数,两个参数Integer,并返回另一个参数Integer——它的类型传达了这一点(Integer -> Integer -> Integer)。
第二个和第三个参数分别命名为a和b,它们都是Integer.
函数体func1包括调用它的函数参数f、传递它(a*2)和(b+5)作为参数。