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

相关推荐
ReadyYes6 分钟前
c++中char *p指针指向字符串输出问题
开发语言·c++
钟离墨笺8 分钟前
Go语言学习-->第一个go程序--hello world!
开发语言·学习·golang
march of Time15 分钟前
go的工具库:github.com/expr-lang/expr
开发语言·golang·github
CodeWithMe33 分钟前
【C/C++】析构函数好玩的用法:~Derived() override
java·开发语言·c++
Rocky40142 分钟前
JavaEE: wait和notify
java·开发语言
Uncertainty!!1 小时前
C++内联函数(inline)的作用
开发语言·c++·内联函数·函数调用栈
南玖yy1 小时前
x86 汇编逻辑运算全解析:从【位操作】到实际应用(AND,OR,NOT,XOR,TEST)
开发语言·汇编·arm开发·后端·架构·策略模式
楠目1 小时前
安全-JAVA开发-第二天
java·开发语言·前端
冷凌爱1 小时前
学习logging模块
开发语言·python·学习
Watink Cpper1 小时前
[Protobuf]常见数据类型以及使用注意事项
linux·开发语言·c++·protobuf