テキスト ファイルから文字列を読み取ろうとしています。スキームを使用して各単語の出現に関する「統計」を提供し、最も使用されている単語を提供します。
式:
string = "one two, tree one two"
そして取得:
one: 2
two: 2
tree: 1
単純な関数カウンターを使用して各単語をカウントし、結果を画面に表示することはできますが、この結果を使用して、たとえば巨大な入力テキストで最も使用されている 5 つの単語を表示する方法が見つかりません-本例えば-。
アップデート :
これが私の質問に対する私の解決策ですが、入力は次のようにソートする必要があります(aaaabbbbbmmm)
(define frequency (lambda(ls)
(if (null? ls) '() (freq_aux (car ls) 1 (cdr ls) '() ))))
(define freq_aux (lambda(l n ls tmp ) ( if(null? ls)
(cons (cons n l) tmp) (if(equal? l (car ls))
(freq_aux l (+ 1 n) (cdr ls) tmp)
(freq_aux (car ls) 1 (cdr ls) (cons (cons n l) tmp))))))