以下方法確定多少個號碼可以被添加了從列表的開頭開始不增加高達4:語法錯誤:插入LOCAL
number_before_Reaching_sum (4, [1,2,3,4,6]);
should return : val it = 2 : int
fun number_before_reaching_sum (sum : int * int list) =
let val len_orig_list = length (#2 sum)
in fun num_bef_reach_sum (sum) =
if #1 sum <= 0
then len_orig_list - (length (#2 sum)) - 1
else num_bef_reach_sum (#1 sum - hd (#2 sum), tl (#2 sum))
end
syntax error: inserting LOCAL
syntax error found at EOF
我可以」 t似乎發現這個代碼中的錯誤。我有一些Python的經驗,但剛開始學習sml。我很喜歡它,但我不明白所有的錯誤信息。我真的花了幾個小時,但我認爲我不知道解決我的問題。我嘗試與本地交換,但我仍然有語法錯誤(equalop)。我認爲in和end之間的函數是表達式而不是聲明。但我希望對此有任何意見。如果你拿出替代代碼,如果你這樣做是沒有使用更先進的功能,這將是巨大的,因爲我只是試圖讓基本下跌:-)
謝謝。這爲我清除了它。當然,函數必須首先定義(在let和in之間),然後只有在in和end之間調用函數時才能使用表達式。現在我可以繼續測試我的功能的邏輯(只要我回到我的電腦上):-)。感謝您抽出時間,Hibou57。 – Rohit88 2014-09-26 12:18:50