繁体   English   中英

OCaml递归列表大小函数返回错误的大小

[英]OCaml recursive list size function returning incorrect size

我假设这正是找到列表长度的代码:

let rec size lst =
  match lst with
    | [] -> 0
    | h::t -> 1 + (size t);;

但是由于某种原因,当我将其应用于大小为2的列表时,它返回1吗? 我觉得自己缺少一些明显的问题,但这对我来说似乎很简单。

由于[1,2][(1,2)]的语法糖,因此表达式size [1,2]将返回1 ,即,它是由一对组成的列表。 列表的元素用分号分隔; 在OCaml中。 因此, size [1;2]将返回2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM