任务定义:我要做南瓜和鱼挂在绳子上
使用的术语:
它是什么?==>一个决定是做鱼还是做南瓜的函数
fish-squared ==> 一个使用 2 个参数制作鱼的函数
南瓜 ==> 一个用两个参数制作南瓜的函数
装饰 ==> 一个将所有图像附加在一起的函数
hang-by-thread ==> 一个将所有图像挂到线程的函数
额外的
对于这个练习,我必须使用“ (如果(奇数?k)鱼方形南瓜)) ”完全一样
问题
当我执行我的程序时,它需要一段时间然后崩溃,所以我怀疑它被困在一个循环中
代码:
(define (fun-string n r)
(define (what-is-it k)
(if (odd? k) fish-squared pumpkin))
(define (decorations k)
(ht-append ((what-is-it k) r r)
(decorations (- k 1))))
(hang-by-thread (decorations n)))
目标:
本练习的目标是学习如何将函数作为参数传递,这是方案能够做到的。
非常感谢
编辑*
我已经添加了基线,仍然是同样的问题,这是所有代码:
(define (lampion r l)
(vc-append (filled-rectangle 2 l) (pumpkin r)))
(define (hang-by-string pumpkins)
(vc-append (filled-rectangle (pict-width pumpkins) 2)
lampionnetjes))
(define (fish-square wh l)
(vc-append (filled-rectangle 2 l) (fish wh wh)))
(define (fun-string n r)
(define (what-is-it k)
(if (odd? k) fish-square pumpkin))
(define (decorations k)
(if (= k 1) fish-square)
(ht-append ((what-is-it k) r r)
(decorations (- k 1))))
(hang-by-string (decorations n)))