2009-09-04 17 views

Odpowiedz

2

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 
+0

Byłoby świetnie. – Max

+1

Obecnie nie ma planów dodania polimorficznej wariancji do F #. (Które IIRC oznacza posiadanie zagnieżdżonej dyskryminowanej unii, prawda?) –

+0

Tak. Pozwala na to i dzięki za wyjaśnienie tej plotki, Chris. – nlucaroni

2

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) 
+1

nie muszę wymyślać nazwy typu zagnieżdżonego :) – Max

Powiązane problemy