HTDP练习6.6.1 - 模板功能是什么意思?

时间:2010-08-03 23:36:06

标签: lisp scheme

我正在使用“如何设计程序”一书来看看Scheme的一些乐趣。到目前为止一切都很简单,但在exercise 6.6.1中遇到了这个奇怪的措辞,我不清楚它的意图:

  

开发模板fun-for-circle,它概述了一个消耗圆圈的功能。其结果尚未确定。

似乎有一种可能性就是要求我定义一个更高阶的函数,但这似乎并不合适,因为本书尚未涵盖lambda表达式,而且在你可以之前它会跳跃如果您以新手开发人员的身份关注本书,那就走吧。

另一种选择似乎只是简单地写一个函数看起来粗略的方式作为注释。但是,这似乎不符合练习6.6.2中的以下说明使用它:

  

使用fun-for-circle开发draw-a-circle。

我确定我在这里遗漏了一些明显的东西,但我不确定是什么。不幸的是,由于我没有密码,我无法查看答案,看看它的意图。有人有任何见解吗?

1 个答案:

答案 0 :(得分:2)

HtDP中,模板是一种函数草图,基本上列出了您对输入所知的所有内容,包括字段以及递归调用的结果部分数据(这些在本书的后面部分)。您可以使用模板示例查看Section 6.5顶部定义的术语。

顺便说一下,明确地编写这些模板的想法是HtDP方法的核心,特别是在以后的递归函数中 - 一旦你对数据进行了很好的分析,几乎可以很容易地编写递归定义