2010-02-03 142 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