【发布时间】:2011-05-19 12:37:54
【问题描述】:
我需要定义一个函数'Compose',它接受一个列表'L',它是一个函数列表。当我指定一个适合列表中所有函数的参数时,最后一个函数使用此参数评估自身。然后将结果传递给倒数第二个函数,依此类推,直到我们到达列表中的第一项(函数)并得到最终结果。
例如
撰写 ( ( fn N -> N + 1 ) ^ ( fn N -> 2 * N ) ^ # ) 3 .
给出答案 7.
我必须用我大学的一位讲师设计的一种称为 SAL(简单应用语言)的函数式编程语言编写此代码(因此上面的语法很有趣(^ 分隔列表项,# 标记列表的结尾)。
如果任何解决方案都可以用伪代码编写,请记住我不能使用循环、变量等,这将不胜感激。显然,解决方案是一个单行的答案。我想它涉及递归(我们 99% 的任务函数都这样做!)。
我也不懂 Haskell(我想我得学习一下!)所以伪代码甚至是简单的英语都会很棒。 ——
非常感谢。
【问题讨论】:
标签: haskell recursion functional-programming