したがって、(入れ子になった '(4 5 2 8))のようなリストを取り、(4(5()2)8)を返すメソッドを書く必要があります。Lispのネストされたリストの問題
私は、これを達成するために3つのサポート方法を書く必要があると考えました。
(define (sizeList L)
(if (null? L) 0
(+ 1 (sizeList (cdr L)))))
input : (sizeList '(1 2 3 4 5 6 7))
output: 7
第二リストから要素を削除します:について
(define (remLast E)
(if (null? (cdr E)) '()
(cons (car E) (remLast (cdr E)))))
input : (remLast '(1 2 3 4 5 6 7))
output: (1 2 3 4 5 6)
:
(define (drop n L)
(if (= (- n 1) 0) L
(drop (- n 1) (cdr L))))
input : (drop 5 '(1 2 3 4 5 6 7))
output: (5 6 7)
第三は、リストの最後の要素を削除最初は、リストのサイズを取得しますネストされたメソッド私は最初の要素の車を行う必要があると思うし、ドロップで再帰し、最後の要素を削除しますが、私の人生のために私はそれを行う方法や、 p arenthesis?何か案は?
スキームすでに持っている組み込みの 'length'手順を。 – Barmar
残念ながら – Ckyui
'if(=( - n 1)0)'は 'if(= n 1)'と書くだけで簡単に書くことができます – Barmar