PLT Scheme指南说,它实现的排序函数能够使用lambda函数根据提取的值对列表进行排序。link text
该指南提供了一个无法工作的代码示例-
(sort '(("aardvark") ("dingo") ("cow") ("bear"))
#:key car string<?)这将返回一个错误。
这个函数是如何被调用的,以便它能根据给定函数计算出的值对列表进行实际排序?
发布于 2010-02-04 00:35:44
这对我很管用。您使用的是哪种方案方言?你得到了什么错误?在我的DrScheme设置中,我从左下角的下拉列表中选择了“模块”,并且
#lang scheme在顶部窗口中运行。
发布于 2010-02-04 01:10:24
我的猜测与Neil的相似:首先,您应该使用PLT的最新版本。尝试在DrScheme使用模块语言(语言选择对话框中的第一个选项)时运行此命令:
#lang scheme
(sort '(("aardvark") ("dingo") ("cow") ("bear"))
#:key car string<?)其次,该语法使用关键字参数,因此如果您正在使用诸如R6RS、R5RS或Pretty Big等语言,那么您将不能对这样的关键字使用sort。(最好只使用模块语言和#lang scheme。)
https://stackoverflow.com/questions/2193463
复制相似问题