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