1
一個練習問題要求解釋爲什麼這不起作用。顯然,從運行代碼我發現它沒有,但我沒有看到在這種情況下爲什麼。這個錯誤並沒有說明太多!OCaml重新定義中綴運算符
# let (+) x y z = x + y + z in 5 + 6 7;;
Error: This expression has type int
This is not a function; it cannot be applied.
謝謝!
所以INT - > INT - > INT - > INT能被讀爲輸入:int - > int和output:int - > int,或(int - > int) - >(int - > int)?也就是說,它的輸入是一個int類型的函數嗎? – Krpcannon
否'int - > int - > int - > int'意味着'int - >(int - >(int - > int))'並且只有那個。雖然'(int - > int) - >(int - > int)'表示一個函數,它接受一個'int-> int'函數並返回一個'int-> int'函數 – Kostya
謝謝@Kostya,這個目標函數根本的誤解 - 簽名值是正確的聯想。 – Krpcannon