首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OCaml -警告8:此模式匹配不是详尽的

OCaml -警告8:此模式匹配不是详尽的
EN

Stack Overflow用户
提问于 2021-01-03 02:48:14
回答 1查看 76关注 0票数 0

您好,我有这个程序正常工作,但给我一个警告,我想摆脱

代码语言:javascript
复制
  let rec replace_helper (x::xs) n acc =
    if n = 0 then
      List.rev acc @ symbol :: xs
    else
      replace_helper xs (pred n) (x :: acc)
    in
    replace_helper tape position []
  ;;

这是警告

代码语言:javascript
复制
Warning 8: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:[]

我能做些什么来摆脱这个?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-03 02:52:39

您的x::xs模式只能匹配非空列表(并且您忘记了处理空列表[]的情况)。请完成以下代码

代码语言:javascript
复制
let rec replace_helper li n acc = match li with
   [] -> (*code something here*) failwith "incomplete"
 | x::xs ->
   if n = 0 then
     List.rev acc @ symbol :: xs
   else
      replace_helper xs (pred n) (x :: acc)
   in
   replace_helper tape position []
 ;;

当然,阅读更多的http://ocaml.org/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65542825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档