Как глобальная область видимости делается в F # - PullRequest
5 голосов
/ 23 марта 2012

Мне нужно создать коллекцию в F #, которая имеет пару ключ-значение и имеет глобальный охват.

Ответы [ 2 ]

7 голосов
/ 23 марта 2012

Вы можете сделать это:

[<AutoOpen>]
module Globals =
  let map = System.Collections.Generic.Dictionary<_,_>()

Затем использовать его безоговорочно во всей вашей программе:

map.Add(1, "a")
map.Add(2, "b")
map |> Seq.iter (fun (KeyValue(k, v)) -> printfn "Key: %d, Value: %s" k v)
4 голосов
/ 23 марта 2012

в зависимости от того, какой проект вы делаете, наилучший метод может быть, просто объявите его в модуле:

module GlobalVals =

    let myCollection = .... // whatever

Вы можете просто использовать его с

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