vector - Scheme中的多维向量?

标签 vector scheme racket

我早些时候问过一个关于scheme中的数组的问题(结果它们被称为向量,但基本上与您期望的相同)。

不过,有没有一种简单的方法可以在 PLT Scheme 中处理多维数组向量?出于我的目的,我想要一个名为 make-multid-vector 的过程。或者其他的东西。

顺便说一句,如果这还不存在,我不需要如何实现它的完整代码示例。如果我必须自己推出这个,我会很感激一些大方向。我可能会这样做的方法是遍历向量当前最高维度的每个元素以添加另一个维度,但我可以看到使用方案的递归设置有点难看。

此外,这似乎是我应该能够找到自己的东西,所以请知道我确实在谷歌上搜索过它,但没有任何结果。

最佳答案

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

关于vector - Scheme中的多维向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2954415/

相关文章:

racket - 在 Racket REPL 中的标识符上放置 "prime"后出现奇怪的输出

python - 如何在 Racket 中使用#lang 加载更多语言

c++ - set 和 vector 哪个效率更高

c++ - 了解 C++ 中的以下数据类型

c# - 无法将类型 'UnityEngine.Vector2?' 隐式转换为 'UnityEngine.Vector2'

c++ - 使用 std::transform 对 vector 取幂

list - 如何使用 chez 方案获得给定列表中所有元素 >10 的总和?

comparison - "Greater Than"带有 3 个参数的 Racket 中的运算符

方案:与集合混淆!

scheme - 类型的空列表不起作用的缺点