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

相关推荐
@游子3 分钟前
Python类属性与魔术方法全解析
开发语言·python
眠りたいです1 小时前
现代C++:C++11并发支持库
开发语言·c++·多线程·c++11·c++并发支持库
小灰灰搞电子1 小时前
Rust可以取代C++么?
开发语言·c++·rust
cat三三1 小时前
java之异常
java·开发语言
奇树谦1 小时前
【Qt实战】实现图片缩放、平移与像素级查看功能
开发语言·qt
我命由我123451 小时前
Python Flask 开发问题:ImportError: cannot import name ‘Markup‘ from ‘flask‘
开发语言·后端·python·学习·flask·学习方法·python3.11
wjs20241 小时前
Go 语言指针
开发语言
wuguan_1 小时前
C#:多态函数重载、态符号重载、抽象、虚方法
开发语言·c#
小信啊啊1 小时前
Go语言数组与切片的区别
开发语言·后端·golang