1
在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)
在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)
我用:
[0, true
1, false
2, true]
|> Map.ofList
@ 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
出于好奇,这可以在一条线上完成吗? –
@ScottNimrod是的,只需使用';'作为分隔符:'[1,true; 2,错误; 3,false]',','用于创建元组,'''作为列表元素分隔符。 – CaringDev