Cをコードするために学習しました。スキームで新しいものと違うものを試したかったのです。私は2つの引数を受け取り、そのうちの大きい方を返します。2つの引数を持つスキームプロシージャ
(define (larger x y)
(if (> x y)
x
(y)))
(larger 1 2)
又は、
(define larger
(lambda (x y)
(if (> x y)
x (y))))
(larger 1 2)
Iは、これらの両方は、X> Yであれば、すなわち等価戻りXであると信じ。それ以外の場合は、を返します。
これらのいずれかを試してみると、エラーが発生します。 2は、機能かエラーではありません。呼び出すことはできません:2
を(私はSICPとTSPL上で読んで数時間を費やしてきたが、何も飛び出していない、おそらく私は、「リスト」と参照を使用する必要があります2つの要素は車とcdr?
です。私が誤って投稿している場合、同じ質問に対する以前の回答を逃した場合、または不適切な場合は、私の謝罪です。
:
は単純にコードを変更します!ありがとうございました!私はこれがうまくいくことを確認した。私は2が関数のように扱われているのを見ることができましたが、なぜ/どのように理解できませんでした。 Cから来る明確なバイアス。ありがとう、もう一度。 :-) – h34thf