【发布时间】:2015-06-27 16:09:36
【问题描述】:
我想分别传递一个函数及其参数
现在我有了一个函数,我们称之为 myfunc,它接受一个参数。
我有另一个函数 (func2),它接受多个参数,其中最后两个是函数 (f) 及其参数 (a)。我无法将它们一起传递,因为我需要它们分开。
(...表示其他参数)
我已经做到了(场景 I):
func2 ... myfunc args
但是当我尝试做(将 SCENARIO I 作为 2 个最后一个参数传递给 main func2)时:
func2 ... func2 (... myfunc args)
我得到一个错误。我相信 myfunc 正在评估,第二个 func2 缺少参数。做什么?
【问题讨论】:
-
我很难理解这一点——你能进一步详细说明你的例子吗?也许在最后一种情况下,您只是想传递一个元组
(myfunc, args)而不是应用程序myfunc args? -
func2的类型是什么? -
@duplode: Int -> (a -> a) -> a -> a
-
...然后你想将
func2作为a -> a类型的参数传递,场景#1的结果作为a类型的参数? -
是的@duplode,但我相信我无法评估场景的结果,似乎 a 实际上是一个参数,而不是三个(因为 ... 是一个参数)
标签: function haskell arguments