2010-02-03 100 views
0

PLT方案指南说,它实现的排序功能能够使用lambda函数根据预期值对列表进行排序。 link textPLT方案排序功能

该指南提供的这 -

(sort '(("aardvark") ("dingo") ("cow") ("bear")) 
     #:key car string<?) 

哪个返回一个错误的unworking代码示例。

这个函数应该如何调用,以便它实际上将根据给定函数计算的值对列表进行排序?

回答

2

它适用于我。你使用哪种方言方言?你会得到什么错误?在我DrScheme设置,我在左下角从下拉列表中选择“模块”,并

#lang scheme 

在上面的窗口里运行。

1

我的猜测与Neil的相似:首先,您应该使用最新版本的PLT。试着运行这个时候DrScheme处于模块的语言(在语言选择对话框中的第一选择):

#lang scheme 
(sort '(("aardvark") ("dingo") ("cow") ("bear")) 
     #:key car string<?) 

其次,语法使用关键字参数,所以如果你使用像R6RS或R5RS或某些语言漂亮大等,那么你将无法使用类似的关键字排序。 (最好只使用模块语言和#lang scheme。)

+0

@Eli关于Scheme的所有最近的问题似乎都是语言/方言相关的。你显然知道你在说什么(我只是玩Scheme而已),或许你可以写一个“最佳参考”的答案来解答(或者你自己的问题)?只是一个想法... – 2010-02-03 18:22:09

+0

尼尔:我是PLT项目的一部分,这就是为什么我知道这些事情。如果你在谈论关于PLT计划的最佳参考问题,那么这应该是非常明显的(我们有docs.plt-scheme.org,它也是plt-scheme.org的主要链接之一)......但是我不能说这是一般Scheme的最佳参考,因为还有很多其他的实现。 – 2010-02-03 21:49:01