2

なぜこの cond がエラーを適用するために間違った型を与えるのか、私には明らかではありません。

scheme@(guile-user) [12]>(cond ((equal? "i" "i") => (display "yay")))

わーい

エラー: 手順 #:

エラー: 適用する型が間違っています: #

scheme@(guile-user) [12]>(cond ((string= "i" "i") => (display "yay")))

わーい

エラー: 手順 #:

エラー: 適用する型が間違っています: #

4

1 に答える 1

0

の通常の構文condは次のとおりです。

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

条件の結果をパラメーターとして実行される関数に渡したい場合に使用=>します。たとえば、次のようになります。

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

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

于 2016-06-21T16:24:27.887 に答える