(* val bar = fn : (’a * ’b -> ’b) -> ’b -> ’a list -> ’b *)
fun bar f b nil = b
| bar f b (h::t) = f (h, bar f b t)
這個功能給我們提供了說明它的功能。給出的唯一進一步信息是參數是一個二元函數,一個值和一個列表。從查看它,我已經知道,如果列表爲零,它將返回b值,否則將二進制函數
我的練習給了我這個作爲原始編碼。 然後,他們希望我們做一個java實現它。 我以爲我現在無法理解它。 這裏有一個地方使用了一個變量「n」,它以某種方式將它全部加起來。 這是我真正的問題,除非有更多的可以調試。 我只是想在下週最後一次學習這些東西。 fun f x y =
let
val a = x+1
fun g 0 = 0
| g n =
霍納規則用於簡化在特定變量值下評估多項式的過程。 https://rosettacode.org/wiki/Horner%27s_rule_for_polynomial_evaluation#Standard_ML 我容易地應用於使用SML的方法中,到一個變量多項式,表示爲int列表: fun horner coeffList x = foldr (fn (a, b) => a + b * x
我寫了一個函數來處理異常,如果我們得到了R2 = 0,I2 = 0,但是當我運行程序我得到這個錯誤: operatii.ml:12: error: Type error in function application.
Function: = : ''a * ''a -> bool
Argument: (r2, 0.0) : real * real
Reason: C