Scheme中的多维向量?

Cam*_*Cam 6 scheme vector racket

我之前问了一个关于方案中数组的问题(结果是它们被称为向量,但基本上与你期望的相同).

有没有一种简单的方法可以在PLT Scheme中进行多维数组向量?为了我的目的,我想要一个叫做make-multid-vector或者什么的程序.

顺便说一下,如果这还不存在,我不需要一个完整的代码示例来说明如何实现它.如果我必须自己滚动,我会欣赏一些大方向.我可能这样做的方法是迭代矢量当前最高维度的每个元素以添加另一个维度,但我可以看到使用scheme的递归设置有点难看.

此外,这似乎是我应该能够找到自己的东西,所以请知道我确实谷歌它并没有出现.

Eli*_*lay 9

两种常见方法与许多语言相同,要么使用向量矢量,要么(更有效地)使用X*Y的单个向量并计算每个引用的位置.但是有一个库可以做到这一点 - 查看文档srfi/25,你可以得到它(require srfi/25).