Czy istnieje sposób na skrzynowanie zagnieżdżonych typów związków w F #? Coś podobnego toZagnieżdżone typy związków w F #
type MainType =
| A of
| AA of int
| AB of float
| B of int
Czy istnieje sposób na skrzynowanie zagnieżdżonych typów związków w F #? Coś podobnego toZagnieżdżone typy związków w F #
type MainType =
| A of
| AA of int
| AB of float
| B of int
Nie, musisz oddzielić poszczególne rodzaje (jak w poście KvB za).
Słyszałem o planach dodania polimorficznej wariancji (jak w ocaml) do F #
, co pozwoliłoby zrobić coś podobnego.
W SML,
type mainType =
| A of [ `AA of int | `AB of float ]
| B of int
Nie, nie sądzę. Nie wydaje się być dużo przewagi nad tworząc dwa oddzielne typy związków jak:
type NestedType =
| AA of int
| AB of float
type MainType =
| A of NestedType
| B of int
let mainValue = A (AA 1)
nie muszę wymyślać nazwy typu zagnieżdżonego :) – Max
Byłoby świetnie. – Max
Obecnie nie ma planów dodania polimorficznej wariancji do F #. (Które IIRC oznacza posiadanie zagnieżdżonej dyskryminowanej unii, prawda?) –
Tak. Pozwala na to i dzięki za wyjaśnienie tej plotki, Chris. – nlucaroni