我是一个初学者程序员。我必须在纯 Scheme 中编写一个简单的程序,它将打印出一个给定高度和宽度的矩形(例如 4,6):
111111
100001
100001
111111
1 是黑色边框,0 是空白区域。
我遇到了障碍。我的解决方案是向量向量,#(#(111111) (100001) (100001) (100001))
因为以后很容易修改。首先,我创建用零填充的向量向量,然后我想将其值设置为 1。
问题是,例如,如果我想将第一个向量的第一个元素更改为 1,我不知道为什么程序将所有向量的第一个元素设置为 1。所以我想得到: :#(100000) (000000) (000000) (000000))
但我得到了#(#(100000) (100000) (100000) (100000))
代码是:
(vector-set! (vector-ref vect 0) 0 "1")
有没有人对可能更简单的解决方案有解释?