Ocaml - 我如何显式地声明列表可变类型

问题描述 投票:0回答:2

我试过类似的东西,

let lchars : char ref list = ref [];;

但是没有用...

ocaml declaration explicit
2个回答
2
投票

参数化的OCaml类型是按后缀顺序指定的,所以类型是 char ref list 首先是一个列表。换句话说,它是一个引用 char 的列表。

let (x: char ref list) = [ ref 'a'; ref 'b']

同样的, 类型 char list ref 首先是一个引用。它是对一个chars列表的引用。

let (y: char list ref) = ref ['a'; 'b']

你想要的是第二种类型 但你的代码指定的是第一种类型。


0
投票
let lchars : char list ref = ref[];;
© www.soinside.com 2019 - 2024. All rights reserved.