Можно ли позволить переменную после того или иного? - PullRequest
0 голосов
/ 23 декабря 2018

Я хочу сделать что-то вроде этого: if is_proximity(leo,bob) = true then let list_1 = create_player(list_1) in list_1 else list_1;;

Когда я попробовал это, у меня появляется ошибка: Warning 10: this expression should have type unit.

Обратите внимание, что функция create_player (list_1) добавляетэлемент в список _1

Ответы [ 2 ]

0 голосов
/ 23 декабря 2018

Как насчет этого?

let list_1 =
  if is_proximity leo bob then
    create_player list_1  (* Or, something like (new_player () :: list_1)? *)
  else
    list_1
in ...

Предупреждение, которое вы видели, указывает на тип вашего выражения, это список какого-то типа, а не типа единицы.Если вы хотите использовать list_1 после этого, вы можете использовать let ... in ... или глобальный let.

0 голосов
/ 23 декабря 2018

Вы, похоже, ищете что-то вроде

let list1 = … in
…
let list2 = if is_proximity(leo,bob) then create_player(list_1) else list_1 in
…;;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...