2017-11-09 18 views
0

私は、関数内にリスト内の構造体から数値を取得しようとしています。リストが空の場合、関数は+ inf.0を出力します。空ですか? Racketが式を実行するのを止めない

しかし、(function(list empty))のように空のリストを入力すると、+ inf.0の部分は無視され、とにかくelse-expressionが実行され、struct-xyzが空のリスト最初は空のリストを許可しません。私は間違って何をしていますか?

(define (function datalist)) 
(cond 
[(empty? datalist) +inf.0] 
[else(struct-xyz (first datalist))])) 

これはすべて初級学習指導です。

+0

あなたの定義に誤字があり、あなたが '(define(function datalist)...)'を意味していたと思います。そうですか? – jacobm

+0

はい、それはタイプミスです、ごめんなさい! – JoL

答えて

1

(function (list empty))ではなく(function empty)に電話する必要があります。 (function (list empty))ではないではないリスト上であなたの関数を呼び出すと、それは1つの要素(空である別のリスト)を含みます。

関連する問題