You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OCaml函数报错‘Error: Unbound value oddList’求排查及实现修正

OCaml oddList函数错误排查与修正

错误分析

你的代码存在以下语法错误,导致出现Unbound value相关报错:

  1. 标准库模块名大小写错误:OCaml标准库中的列表操作模块是大写开头的List,你使用了小写的list.hd、list.tl,同时未给length添加List.前缀,编译器无法识别这些预定义函数。
  2. 变量名拼写错误:将定义好的fst变量误写为fist,引发未绑定变量的错误。

修正后的代码

let rec oddList l =
  if l = [] then []
  else
    let fst = List.hd l in
    let rest = List.tl l in
    if List.length fst mod 2 = 0 then fst :: oddList rest
    else (fst @ fst) :: oddList rest

验证结果

运行测试输入:

oddList [[]; [1];[1;2];[1;2;3];[];[5;4;3;2;1]]

将得到预期输出:

[[]; [1; 1]; [1; 2]; [1; 2; 3; 1; 2; 3]; []; [5; 4; 3; 2; 1; 5; 4; 3; 2; 1]]

内容的提问来源于stack exchange,提问作者user21450992

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 11:58:07