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了?

相关推荐
码行山野赴时序归途1 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
景熙55231 小时前
单体项目编写思路和落地形式
java·开发语言
计算机毕设定制辅导-无忧学长2 小时前
《基于SpringBoot的未成年人健康知识科普平台的设计与实现》
java·开发语言·vue.js·spring boot·未成年人健康知识科普平台
Ivanqhz2 小时前
Ping-Pong 双缓冲
开发语言·人工智能·python·深度学习·mlir
m0_734571762 小时前
深入理解C++ RAII
开发语言·c++
泡海椒2 小时前
jquick-pdf 表格实战:动态数据 PDF 报表生成
java·开发语言·pdf
aramae3 小时前
模拟实现memset()(C语言)
c语言·开发语言·后端
wuyk5553 小时前
【Socket 进阶之路】第 7 章 IO 多路复用 select & poll 完整实战|多 fd 监听、超时等待、优缺点横向对比
服务器·开发语言·网络·数据库·物联网
船厂电气自动化ai大模型3 小时前
AI大模型与数学|第81天 课程:正交向量、正交基、格拉姆‑施密特(Gram‑Schmidt)正交化
开发语言·数据结构·人工智能·线性代数·机器学习
lv__pf4 小时前
seata【实战 msb】
java·开发语言·后端