在 OCaml 中展开
Explode in OCaml
我想创建一个函数,根据给定的字符将字符串分解为字符串列表,但由于未知原因,OCaml 解释器告诉我第 3 行字符 6-7 存在语法错误实际上是我的过滤器列表。我很困惑。我做错了什么?
let explode s c =
let rec explodeIn s c p l = function
| p + 1 -> (String.sub s 0 p)::l
| _ -> let idx = String.rindex_from s p c in; explodeIn s c (idx - 1) ((String.sub s (idx + 1) (p - idx))::l) (String.index s c)
in
explodeIn s c (String.lentgh - 1) [] (String.index s c)
;;
p + 1
不是有效模式。
也许你的意思是i when i = p + 1
编辑:
还有一些错误:
在 in
之后无效 ;
(第 4 行)
错别字 String.lentgh
=> String.length s
(第 6 行)
我想创建一个函数,根据给定的字符将字符串分解为字符串列表,但由于未知原因,OCaml 解释器告诉我第 3 行字符 6-7 存在语法错误实际上是我的过滤器列表。我很困惑。我做错了什么?
let explode s c =
let rec explodeIn s c p l = function
| p + 1 -> (String.sub s 0 p)::l
| _ -> let idx = String.rindex_from s p c in; explodeIn s c (idx - 1) ((String.sub s (idx + 1) (p - idx))::l) (String.index s c)
in
explodeIn s c (String.lentgh - 1) [] (String.index s c)
;;
p + 1
不是有效模式。
也许你的意思是i when i = p + 1
编辑:
还有一些错误:
在 in
之后无效 ;
(第 4 行)
错别字 String.lentgh
=> String.length s
(第 6 行)