-1
A
回答
1
你忘了使用in
关闭当地let
绑定。正确的(和缩进)代码应该是:
let second_smallest_helper1 lst=
let second_smallest_helper2 currentMinimum currentNumber =
if currentMinimum < currentNumber then currentMinimum else currentNumber
in List.fold_left second_smallest_helper2 (List.hd lst) lst
;;
let delete (x, mylist) = List.filter (fun y -> y != x) mylist;;
let second_smallest myList =
let x = second_smallest_helper1 myList in
let newList = delete (x,myList) in
second_smallest_helper1 newList
;;
顶级let
结合的形式
let <pattern> = <expression>;; (* ;; is optional, but beginners should have it *)
但当地let
结合的形式
let <pattern> = <expression> in <expression>
你绝对需要使用一个适合你的编辑器的OCaml缩进工具,以避免这种错误。
还有一件事。我不确定你使用0是否可以。这是物理指针比较。可能你想使用<>
,进行结构比较。
由于“个人原因”,OP试图编辑并删除所有答案。我自己跳过了编辑批准并将其留给了社区,这显然拒绝了它。关于这种事情的Meta SO讨论可以在What to do when an OP asks to delete my code from my answer?找到,包括OP应该做什么。
+0
我同意物理/结构比较。身体比较不应该由初学者使用。 – PatJ 2015-02-23 07:40:23
相关问题
- 1. 这个错误究竟是什么?
- 2. 内存页错误究竟是什么?
- 3. 好的,这工作。究竟是什么?
- 4. Android-这究竟是为什么(“内容尚未创建”错误)
- 5. Python:为什么这不起作用?/这个错误究竟是什么意思?
- 6. 这种类型究竟是什么?
- 7. 这里我的错误是什么,显示SQL语法错误?
- 8. 这个XSD究竟在哪里出错?
- 9. 究竟是MySQL中的“尾随空间”究竟是什么?
- 10. DEFAULT_COMPRESSION究竟是什么?
- 11. cacert.pem究竟是什么?
- 12. JSON-RPC究竟是什么?
- 13. WPF究竟是什么?
- 14. NoSQL究竟是什么?
- 15. “Sample”究竟是什么?
- 16. ContextStaticAttribute究竟是什么?
- 17. JSON究竟是什么?
- 18. 究竟是什么插座
- 19. targetSdkVersion究竟是什么?
- 20. getGlobalVisibleRect()究竟是什么?
- 21. 究竟是什么#^:_ 1
- 22. WCF - 究竟是什么?
- 23. Rest API究竟是什么
- 24. “句柄”究竟是什么?
- 25. this.id究竟是什么?
- 26. Erlang OTP究竟是什么?
- 27. selenese html究竟是什么?
- 28. 资源究竟是什么?
- 29. 究竟是什么@ ViewDebug.ExportedProperty?
- 30. ViewUserControl.ViewDataKey究竟是什么?
我还是不明白我写的是什么问题。你能为我指点吗? – user3567081 2015-02-23 07:25:55
不要删除问题的重要部分。 – camlspotter 2015-02-24 06:49:46