Ocaml пользовательские типы и функции - PullRequest
0 голосов
/ 23 ноября 2018

Я определил тип, подобный следующему:

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 голосов
/ 23 ноября 2018

Предложенная функция имеет синтаксическую ошибку.В определении функции, когда у вас есть let, за ним должно следовать in.Он используется для определения локальных переменных.Ваша функция имеет let, но не имеет in.

Еще один способ подумать об этом - спросить , почему вы определили значение с именем name.Вы планируете это как результат функции, возможно?Если это так, вы можете сделать это, добавив in name в конце.

...