2009-09-04 29 views

Trả lời

2

Không, bạn sẽ phải tách riêng các loại (như trong bài của kvb). Tôi đã nghe nói về kế hoạch thêm phương sai đa hình (như trong ocaml) vào F # , điều này sẽ cho phép bạn làm điều gì đó tương tự.

Trong ocaml,

type mainType = 
    | A of [ `AA of int | `AB of float ] 
    | B of int 
+0

Đó sẽ là tuyệt vời. – Max

+1

Hiện tại không có kế hoạch thêm phương sai đa hình cho F #. (IIRC nào có nghĩa là có một liên minh phân biệt lồng nhau, đúng không?) –

+0

Vâng. Nó cho phép điều đó, và cảm ơn vì đã xóa tin đồn đó, Chris. – nlucaroni

2

Không, tôi không nghĩ vậy. Dường như không có nhiều lợi thế khi tạo hai loại liên kết riêng biệt như:

type NestedType = 
| AA of int 
| AB of float 

type MainType = 
| A of NestedType 
| B of int 

let mainValue = A (AA 1) 
+1

Tôi không phải phát minh ra tên lồng nhau kiểu :) – Max

Các vấn đề liên quan