我不明白我在这里做错了什么可能是一个错误的反向引用。
球拍代码:
(require math/array)
(define mask_cube
(let ([leng 5])
`(make-array #(,leng ,leng) 0)))
我希望它做什么,用python编写:
np.zeros((5,5))
为什么逗号不能像我想的那样工作如果有更优雅的方法来解决这个问题,请告诉我大多数时候我只是想要我漂亮的,简短的功能
此外,如果我对反向引用、逗号或球拍(甚至是口齿不清)有一些基本的误解,请告诉我。
最佳答案
你不想eval
在这里相反,您引用的内容太多;解决问题的简单方法是将`
向内移动到适当的位置:
(define mask_cube
(let ([leng 5])
(make-array `#(,leng ,leng) 0)))
不过,如果你是初学者的话,我一般会避免引用;这比需要的要复杂得多只需使用
vector
函数,这更容易理解:(define mask_cube
(let ([leng 5])
(make-array (vector leng leng) 0)))
关于引文的深入处理(结尾是准液化),请参见What is the difference between quote and list?。