これは私が読んでいる本の例です:
1 (define (length items)
2 (define (length-iter a count)
3 (if (null? a)
4 count
5 (length-iter (cdr a)(+ 1 count))))
6 (length-iter items 0))
私が理解していないのはlength-iter、カウントについてどのように知ることができるかということです? このプロシージャが で初めて呼び出されるとlist、次に 2 つの引数を持つ別のプロシージャが定義されます。しかし、それが であることをどうやって知るaのlist itemsでしょうか? まだ 6 行目に達していませんが、引数として にitems渡されます。どういうわけか、それはすでにこれを知っており、計算を行うことができます。これを少し明確にするための助けをいただければ幸いです。length-itera