2016-06-21 11 views
2

なぜこのcondが間違ったタイプのエラーを適用するのかはわかりません。Guile scheme cond ERROR:適用するタイプが間違っています

スキーム@(ガイルユーザ)[12]>(COND((同じ "I" "I")=>(表示 "イェーイ"))?)

イェーイ

ERROR:で手順番号:

ERROR:適用する間違った種類:#

スキーム@(ガイル-ユーザー)[12]>(指揮((文字列= "I" "I")=>(ディスプレイ "イェーイ" ))))

yay

ERROR:プロシージャ#で:

ERROR:間違ったタイプが適用される:#

答えて

0

次のようにcondための通常の構文は次のとおりです。私たちは結果を渡したいとき

(cond ((equal? "i" "i") 
     (display "yay"))) 
; prints yay 

は、我々は=>を使用例えば、実行される関数へのパラメータとしての条件の値。例:

(cond ((equal? "i" "i") 
     => display)) 
; prints #t 

上記のコードでは、条件は#tと評価され、#tがパラメータとしてdisplayに渡され、出力されます。

関連する問題