初始化字典的最短方法

时间:2015-11-10 12:30:23

标签: f#

是否有更简洁的方式在F#中声明和初始化字典?

let grid = Map.empty
              .Add(0, true).Add(1, true).Add(2, true)
              .Add(3, true).Add(4, false).Add(5, true)
              .Add(6, true).Add(7, true).Add(8, true)

2 个答案:

答案 0 :(得分:6)

我用:

netstat -m |awk -v FS="[/| ]+" '$0~/mbufs in use/{if($3>800000){print $3}}'

答案 1 :(得分:2)

@ CaringDev的答案很好,但还有另一个考虑因素。

元组的元素具有键/值关系,因此为了最清楚,我使用以下定义:

let (=>) x y = x,y

这让我可以编写一个非常易读的self-documented代码:

let myValue1 =
    Map [
        0 => true
        1 => false
        2 => false
    ]

此外,let makeMap x = new Map<_,_>(x)允许您使用其他样式编写代码,具体取决于您的团队的编码约定:

let myValue2 =
    [
        0 => true
        1 => false
        2 => false
    ] |> makeMap