在方案中按字典顺序对字符串进行排序

sorting strings in lexicographical order in scheme

我是新手。我想知道如何在方案中按词典顺序对字符串进行排序。 例如:

(sort (list "cat" "apple" "dog"))
(apple cat dog)

在 C++ 中,我可以有 'A'<'B',但在方案中似乎不起作用。我在网上也参考过,但是大部分都是用通俗的语言实现的,很少有scheme的。那么有人可以提供方案中的实际代码并进行解释吗?谢谢

这个问题的惯用答案在很大程度上取决于您使用的方案实现。因此,例如,在 Racket 中我会写

(sort (list "cat" "apple" "dog") string<?)

我看到你把这个问题标记为r5rs,也许你在问是否可以用R5RS方案写这个。是的,你绝对可以。但是使用你的方案实现提供的任何东西可能更简单。