Ocaml用户定义的类型和功能

时间:2018-11-23 18:38:11

标签: types ocaml

我已经定义了如下类型:

type t_player = {
color : int;
coords_x : int ref;
coords_y : int ref  
}  

现在,我想创建一个可能像这样的函数:

let create_player
    (name, color, coords_x, coords_y :
        string * int * int ref * int ref) : t_player =
    let name : t_player = {
        color = int;
        coords_x = ref 20;
        coords_y = ref 20
     };;

这可能吗?

1 个答案:

答案 0 :(得分:1)

您提出的函数语法错误。在函数定义中,只要有let,就必须后面跟in。它用于定义局部变量。您的函数有let,但没有in

对此进行思考的另一种方法是询问为什么定义了名为name的值。您是否打算将其作为功能的结果?如果是这样,您可以在末尾添加in name