以下方法确定多少个号码可以被添加了从列表的开头开始不增加高达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