5

私は知っている他のすべての言語でこれを行う方法を知っていますが、Lisp を始めたばかりで、よくわかりません。私の考え

  • 文字リストを作る
  • アスキー値に変換
  • 選別
  • 文字に戻す
  • 文字列に戻す

手ごわそうです。これを行うためのより良い方法はありますか?文字列を指定すると、文字が並べ替えられた文字列を返す関数を作成しようとしています。たとえば、次のようになります。

gate => aegt
house => ehosu
door => door

このルーチンは、アナグラム ファインダーの一部として使用されます。

ありがとう!

4

3 に答える 3

2

文字列は一連の文字です。sortはシーケンスをソートするので、リストをソートするように文字列をソートします:

(setq tester (copy-seq "lkjashd")) =>  "lkjashd"
(stable-sort tester #'char-lessp) =>  "adhjkls"
tester => "adhjkls" ; NB: it mutates the string!
于 2013-08-17T16:05:09.733 に答える