2016-12-14 10 views
0

countをリスト内の特定の数値を数えるのにどのように使用しますか?リスト内の特定の数字を数えてください

(define lst '(1 1 1 1 2 2 2 3 3 3 3 3 4 4) 
(count 2 lst);; what should I use at the place of '2' 

ただし、次のエラーが発生しています。

件数:契約違反
予期:手順?
は、与えられた:2

答えて

1

count手順はtrueを返すためのリストの要素の数をカウントします。この場合、要素が2:(lambda (x) (equal? x 2))の場合にのみ真を返すプロシージャが必要です。

フルでは、

(define lst '(1 1 1 1 2 2 2 3 3 3 3 3 4 4)) 
(count (lambda (x) (equal? x 2)) lst) 

サイドノートを行うことができます:あなたは(curry equal? 2)をラムダ式を置き換えることによって、それを短縮することができます。

+1

以前は「カレー」の使用は見たことがありません。それは主にラムダ式を置き換えるものですか? @Gibstick – Toat

+1

@Toatはい、そういう使い方です(控えめに)。 – Gibstick

関連する問題