2015-11-10 5 views

ответ

5

Я использую:

[0, true 
1, false 
2, true] 
|> Map.ofList 
+0

Из любопытства, это можно сделать на одной линии? –

+1

@ScottNimrod Да, просто используйте ';' как разделитель: '[1, true; 2, false; 3, false] ',', 'предназначен для создания кортежей,'; 'служит в качестве разделителя элементов списка. – CaringDev

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 
Смежные вопросы