誰かがこのコードのエラーを表示できますか? 私は再帰に慣れていないので、以下のコードの何が問題なのかよくわかりません。
(define (counting lst)
(if (null? lst)
'()
(string-append (number->string (car (car lst)))
", "
(number->string (length (cdr (car lst))))
(counting (cdr lst)))))
入力: '((2 b a) (1 f e c) (0 m))
コードから期待される出力:"2, 2\n1, 3\n0, 1\n"
上記のコードからの実際の出力:
string-append: contract violation
expected: string?
given: '()
argument position: 4th
other arguments...:
"0"
", "
"1"
私が理解しているように、
基本ケース: ネストされたリストの長さ = 0、または null の場合、'()
帰納的な場合: "," でネストされたリストの最初の数値と、ネストされたリストの残りの長さを追加します。
私の考えは正しいですか?そうでない場合、どこが間違っていますか?? 少し早いですがお礼を!