我正在使用DrRacket Version7.0学习方案。
我已经从这个所以回答复制并修改了以下过程。
#lang racket
(define sort-asc-by-second
(lambda (lst)
(sort lst
(lambda (x y) (< (cdr x) (cdr y))))))而且效果很好。
现在,我已经用这个#lang racket修改了#lang r5rs指令。
DrRacket使用以下错误进行投诉:
排序:未绑定标识符在:排序
我是否忘记向DrRacket (库、模块等)添加一些内容?或者sort在R5RS中是不可用的。
发布于 2018-10-21 18:31:49
根据R5RS报告,没有sort这样的东西。您可以从sort的SRFI-95排序与合并中获取引用实现。它与#lang racket不完全兼容。R5RS没有库,所以可移植的方法是load或内联它。
R6RS已经取代了R5RS,它的标准库中也有list-sort。
尚未完全批准的R7RS-Large使用SRFI-132作为排序库(scheme sort),其中还有与R6RS list-sort相同的list-stable-sort。
在Racket中,您可以混合和匹配它所支持的所有语言的库,但是它不适用于实现不同的列表,而且它是一个锁定。依赖于不同的语言库意味着您不能使用其他实现运行代码,比如Ikarus和Chez。
https://stackoverflow.com/questions/52916099
复制相似问题