Хороший материал для чтения на карте в F # - PullRequest
0 голосов
/ 03 января 2019

Пожалуйста, помогите со следующим упражнением: enter image description here

Какой хороший источник материала я могу прочитать, чтобы понять, как использовать Map в F #?

Iпытался понять, как использовать Map.

Я пытался:

let holidays =
    Map.empty.
        Add("Christmas", "Dec. 25");;

Это работает, то я пытался:

let holidays =
    Map.empty.
        Add("Christmas", "Dec. 25")
        Add("Halloween", "Oct. 31");;

, и это выдало ошибку

Я должен был поставить точку после первого оператора Add следующим образом:

let holidays =
    Map.empty.
        Add("Christmas", "Dec. 25").
        Add("Halloween", "Oct. 31");;

Мне интересно, почему это так?

Итак, это означает, что

let holidays =
    Map.empty;;

- это то, как мы создаем новую карту.Но мне нужна карта типа Карта (Команда, Очки).Поэтому я попытался:

let exmaple =
    Map.empty.
        Add ("Superman", Points 8);;
val exmaple : Map<string,Points> = map [("Superman", Points 8)]

Но это карта типа (строка, очки), а не карта (команда, очки).

Кроме того, как написать «<» после карты наstackoverflow, так что все, что следует за «<», появляется (поэтому я использую map () вместо map <>)?

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 03 января 2019

Три способа создания пустого Map<Team,Points>:

let holidays : Map<Team, Points> = Map.empty
let holidays'                    = Map.empty : Map<Team, Points>  // this also works
let holidays''                   = Map.empty // even this works if followed by usage

Вы можете добавить элементы либо с .Add(t, p), либо с Map.add t p:

let twoAdded  = holidays       .Add("Superman", Points 6)       .Add("Batman", Points 5)
let twoAdded' = holidays |> Map.add "Superman" (Points 6) |> Map.add "Batman" (Points 5)

Второй способ - функциональный.

Ваш тип Team и string совпадают, потому что:

type Team = string

это просто псевдоним, а не новый тип.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...