arc3.2语言sort的时候报错:(sort < `(2 9 3 7 5 1)) 需要写成这种:(sort > (pair (list 3 2)))

arc语言sort的时候报错:(sort < '(2 9 3 7 5 1))

复制代码
arc> (sort < '(2 9 3 7 5 1))
Error: "set-car!: expected argument of type <pair>; given: 9609216"
arc> (sort `< `(2 9 3 ))
Error: "Function call on inappropriate object '< '(3 9)"
arc> (sort `(2 9 3))
Error: " sort: arity mismatch;\n the expected number of arguments does not match the given number\n  expected: 2\n  given: 1"
arc> (sort `> `(2 9))
Error: "Function call on inappropriate object '> '(9 2)"
arc> (sort < (list 2 9 3 7 5 1))
Error: "set-car!: expected argument of type <pair>; given: 9551872"
arc> (= sortlist (list 2 9 3 7 5 1))
(2 9 3 7 5 1)
arc> sortlist
(2 9 3 7 5 1)
arc> (sort < sortlist)
Error: "set-car!: expected argument of type <pair>; given: 14000128"

怎么办呢?

搞不明白

最后发现需要这样写:

复制代码
arc> (sort > (pair (list 3 2)))
((3 2))
arc> (sort < (pair (list 2 3)))
((2 3))

也就是需要使用pair 数对,且只能是两个数?

也就是Arc3.2版本的sort是跟以前不一样的....

是更纯粹的,只支持一对数值的pair类型的数据进行排序。

而以前的版本是可以支持list排序的。也就是这种

复制代码
(= nums (list 5 2 8 1 4))
(sort < nums)

对了,list是可以改变的吗? 是不是因此新版本的list就不支持sort了?

相关推荐
Rust语言中文社区3 小时前
【Rust日报】 丰田“先锋”选择了 Rust
开发语言·后端·rust
邹小邹-AI3 小时前
Rust + 前端:下一个十年的“王炸组合”
开发语言·前端·rust
ECT-OS-JiuHuaShan3 小时前
否定之否定的辩证法,谁会不承认?但又有多少人说的透?
开发语言·人工智能·数学建模·生活·学习方法·量子计算·拓扑学
東雪木3 小时前
变量与数据类型
java·开发语言
Lisonseekpan3 小时前
Java分词器深度评测与实战指南
java·开发语言·后端
百***35484 小时前
JavaScript在Node.js中的集群部署
开发语言·javascript·node.js
光影少年4 小时前
node.js和nest.js做智能体开发需要会哪些东西
开发语言·javascript·人工智能·node.js
xu_yule4 小时前
Linux_14(多线程)线程控制+C++多线程
java·开发语言·jvm
c***97984 小时前
PHP在内容管理中的模板引擎
开发语言·php
San30.4 小时前
深入理解 JavaScript 异步编程:从 Ajax 到 Promise
开发语言·javascript·ajax·promise