2010-02-03 5 views
0

PLT Le guide Schéma indique que la fonction de tri implémentée est capable de trier une liste en fonction d'une valeur exagérée à l'aide d'une fonction lambda. link textFonction de tri PLT Schéma

Le guide fournit un exemple de code désoeuvrement de this-

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

qui renvoie une erreur.

Comment cette fonction est-elle censée être appelée afin qu'elle triera réellement une liste en fonction des valeurs calculées par une fonction donnée?

Répondre

2

Cela fonctionne pour moi. Quel dialecte utilisez-vous? Et quelle erreur obtenez-vous? Dans ma configuration DrScheme, j'ai « Module » sélectionné dans le menu déroulant en bas à gauche, et

#lang scheme 

run dans la fenêtre supérieure.

1

Ma conjecture est similaire à celle de Neil: d'abord, vous devriez utiliser une version récente de PLT pour cela. Essayez d'exécuter quand DrScheme est dans la langue du module (le premier choix dans la boîte de dialogue de sélection de la langue):

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

En second lieu, cette syntaxe utilise des arguments de mots clés, donc si vous utilisez un langage comme R6RS ou r5rs ou Pretty Big etc, alors vous ne serez pas en mesure d'utiliser trier avec un mot-clé comme ça. (Il est préférable de s'en tenir à la langue du module et #lang scheme.)

+0

@Eli Toutes les questions récentes sur Scheme semblent être liées à la langue/au dialecte. Comme vous savez évidemment de quoi vous parlez (je joue juste avec Scheme pour m'amuser), peut-être pourriez-vous écrire une «meilleure référence» à cette question (ou à une question sur votre propre origine)? Juste une idée ... –

+0

Neil: Je fais partie du projet PLT, c'est pourquoi je connais ces choses. Si vous parlez d'une meilleure question de référence sur PLT Scheme, alors cela devrait être assez évident (nous avons docs.plt-scheme.org, et c'est aussi l'un des principaux liens sur plt-scheme.org) ... Je ne peux pas dire que c'est la meilleure référence pour Scheme en général car il y a beaucoup d'autres implémentations. –

Questions connexes