我正在使用DrRacket 7.0版进行学习。
我已从此SO answer复制并修改了以下过程。
#lang racket
(define sort-asc-by-second
(lambda (lst)
(sort lst
(lambda (x y) (< (cdr x) (cdr y))))))
它运行完美。
现在,我用此#lang racket
更改了#lang r5rs
指令。
DrRacket抱怨以下错误:
sort:排序中的未绑定标识符
我是否忘记在DrRacket中添加某些内容(库,模块等)?也许sort
在R5RS中不可用。
答案 0 :(得分:2)
根据R5RS report,没有os.environ['REDIS_URL']
这样的东西。您可以从SRFI-95 Sorting and merging获取sort
的参考实现。它与sort
并非100%兼容。 R5RS没有库,因此可移植的方法是对其进行#lang racket
或内联。
R6RS取代了R5RS,并且它的标准库中有list-sort
。
尚未完全批准的R7RS-Large使用SRFI-132作为排序库load
,它也具有(scheme sort)
与R6RS list-stable-sort
相同。
在Racket中,您可以混合和匹配其支持的所有语言的库,但是它不适用于以不同方式实现的列表,并且是锁定的。依赖于其他语言的库意味着您无法使用其他实现,例如Ikarus和Chez。