scheme中的数组表示

scheme中的数组表示,scheme,Scheme,我是函数式编程领域的新手,刚刚开始学习Scheme(尽管它是一种半函数式编程语言)。我做了一些关于列表的教程,这在Scheme中得到了很好的支持。我想知道Scheme是否支持摆弄数组 还是需要定义自己的数据类型?列表是一种归纳定义的数据类型。如果我要将数组定义为一种新的数据类型,那么它可以归纳定义吗 请帮忙。 提前谢谢 干杯你要找的 可以使用向量表示数组。Scheme中的向量不起作用,因为您可以对它们进行变异(使用向量集!)。但是,也可以使用set car对列表进行变异!并设置cdr 感谢您向我

我是函数式编程领域的新手,刚刚开始学习Scheme(尽管它是一种半函数式编程语言)。我做了一些关于列表的教程,这在Scheme中得到了很好的支持。我想知道Scheme是否支持摆弄数组

还是需要定义自己的数据类型?列表是一种归纳定义的数据类型。如果我要将数组定义为一种新的数据类型,那么它可以归纳定义吗

请帮忙。 提前谢谢

干杯

你要找的


可以使用向量表示数组。Scheme中的向量不起作用,因为您可以对它们进行变异(使用向量集!)。但是,也可以使用set car对列表进行变异!并设置cdr

感谢您向我介绍了scheme中向量的概念。我只是查找它,似乎可以在固定时间内进行查找(就像在数组中一样)。此外,它似乎是一种固定在空间中的数据类型,非常类似于数组。Cheers请记住必须引用向量常量(至少以R5R为单位)。最后一个例子应该是
(定义arr'#(1 2 3))
。注意:一些实现使得报价是可选的。
(define arr (vector 1 2 3))
(define arr '#(1 2 3))