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