首先,我正在浏览 HtDP第二版并使用 BSL 语言包。
我目前正在Exercise 131,这就是它所说的:
Exercise 131: Design two functions: col and row.
The function col consumes a natural number n and an image i. It produces a column—a vertical arrangement—of n copies of i.
The function row consumes a natural number n and an image i. It produces a row—a horizontal arrangement—of n copies of i
Use the two functions to create a rectangle of 8 by 18 squares, each of which has size 10 by 10.
我正在寻找地方形象,此外,上面没有什么突出的如何做到这一点。这些功能不会拍摄图像列表,而是拍摄单个图像。 EX :(除了rect1 rect2 rect3)而不是(除了(列出rect1 rect2 rect3))。另外,如果我按照函数的定义来看,似乎我会在图像上重叠,因为函数本身是独立的。基本上我所谈论的重叠是在每行的第一张图像上。
我不是在寻找答案(虽然如果你得到它,我会接受它),但是一个暗示,标志,神圣介入正确的方向。
答案 0 :(得分:2)
这是一个让你前进的例子:
; images->row : list-of-images -> image
(define (row->image row)
(cond
[(empty? row) empty-image]
[else (beside (first row)
(row->image (rest row)))]))
(row->image (list (square 20 "solid" "red")
(square 20 "solid" "blue")
(square 20 "solid" "green")))