2014-01-11 17 views
0

函數f具有參數i < integer>和j < function>。函數j以整數作爲參數返回一個整數。爲什麼在的代碼F方案「一個實例不是程序錯誤」

(if (equals? (j i) 1) (...) (...)) 

給錯誤「的實例:一個實例是不是一個程序 - 無法應用它」?不應該(j我)返回一個整數值?

+0

是它應該。所以'j'似乎不是一個函數,或者'(j 1)'不返回一個整數。 – alfasin

+0

你的意思是「平等嗎?」(注意缺失的's') – uselpa

+1

這條消息是在'tiny-clos.rkt'中產生的,它是* swindle的一部分,所以你可能混合了函數和類。請發佈* f *的定義。 – uselpa

回答

0

原因是因爲您必須使用邏輯運算符來比較多個條件。

例如

(if (**and** (equals? (j i) 1) (equals? (j 2) 3) (...) (...)) 
; Consecuence 

; Alternative 
) 
相關問題