Создать список объектов - PullRequest
       9

Создать список объектов

0 голосов
/ 25 апреля 2020

Хотите знать, как создать список экземпляров объектов

У меня есть это

type myType = GoodState | BadState

let create =
    seq {for i in 1 .. 100000 do yield new myType}

это не похоже на работу

кто-нибудь знает способ сделать это?

спасибо

Ответы [ 2 ]

1 голос
/ 25 апреля 2020

myType является Дискриминационным Союзом, поэтому вы должны выбрать один из вариантов.

type myType = GoodState | BadState

//using your syntax to create a sequence of BadState
let create1 = seq{for _ in 1 .. 100000 do BadState} //yield is not required anymore

//another syntax to create a list of GoodState
let create2 = List.init 100000 (fun _ -> GoodState)

Кстати, я использовал подчеркивание "_", потому что в этом примере я не использую индекс , но вы можете заменить имя переменной, если хотите использовать его для чего-либо.

1 голос
/ 25 апреля 2020

Вы создаете значения myType, используя один из двух определенных вами конструкторов - GoodState и BadState. Ни один из них не имеет аргументов, поэтому вы создаете значения с помощью:

let good : myType = GoodState
let bad : myType = BadState

Вы можете создать последовательность таких значений, например,

let create = seq {for i in 1 .. 100000 do yield GoodState}
...