注:私は宿題のためにこれをやっています。私は自分の問題を解決するためのアルゴリズムを探しているわけではなく、Schemeの仕組みを理解しようとしています。Schemeのリストの中で最小の項目を返す
私は、リストに最小のアイテムを見つけるための小さなプログラムを作成しようとしています。プログラムは正解を見つけてから働いているので(ロジックがやや健全です)、私の答えを関数として扱い、呼び出すエラーが出てくるので、私はこれを知っています。
(DEFINE (startmin mylist)
(
(repeatmin (CAR mylist) (CDR mylist))
))
(DEFINE (repeatmin curmin mylist)
(
(IF (NULL? mylist) ;If the list is empty
;This is where I'm at a loss. I want a way for this value to be
;sent out once the list is empty
curmin ;return the current minimum
(IF (< curmin (CAR mylist)) ;if the current minimum is less than the head of the list
(repeatmin curmin (CDR mylist)) ;recurse with curmin
(repeatmin (CAR mylist) (CDR mylist)) ;otherwise recurse with the head of the list.
)
)
))
私はそれを関数として値を扱うしようとし続けるように私は戻って再帰の外に、一度見つけ、値を取得する方法の損失で本当によ。
[シルウォスターの答え](http://stackoverflow.com/a/43430528/7872323)私のためにそれを修正しました。 –
質問に「[解決済み]」と表示されるべきではありません。 Sylwesterの答えを灰色のチェックマーク記号をクリックして受け入れると、質問のミニチュアは自動的に緑色にマークされます。 – suchtgott