0
我的教授今天向我們展示了這個代碼,但我似乎無法理解它的結果:OCaml - 爲什麼函數沒有改變它的輸出?
# let a = 2;;
val a : int = 2
# let f = fun x -> fun y -> if x = y then a + 2 else a - 10;;
val : f 'a -> 'a -> int = <fun>
# f 1 (2 - 1);;
- : int = 4
# let a = 18;;
val a : int = 18
# f 1 (2 - 1);;
- : int = 4
???所以基本上,我期望看到這樣的結果:
- : int = 20
爲什麼不是這個輸出?
不要顯示對學生的引用,你這個傻瓜! :-p – PatJ
@PatJ正是我的想法:-)我會編輯一個適當的警告 – Bergi
@PatJ是一個不純粹的傻瓜在這種情況下比純粹的傻瓜更糟? –