Guile scheme cond ERROR:错误的类型适用

时间:2016-06-21 16:06:28

标签: scheme guile

我不清楚为什么这个cond会给出错误的类型来应用错误。

scheme @(guile-user)[12]>(cond((等于?" i"" i")=>(显示" yay&#34 ;)))

错误:在程序#:

错误:要应用的错误类型:#

scheme @(guile-user)[12]>(cond((string =" i"" i")=>(显示" yay&#34 ;)))

错误:在程序#:

错误:要应用的错误类型:#

1 个答案:

答案 0 :(得分:0)

cond的通常语法如下:

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

当我们想要将条件的结果作为参数传递给执行的函数时,我们使用=>,例如:

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

在上面的代码中,条件评估为#t#t作为参数传递给display,打印出来。