2013-02-09 14 views
6

Sản lượng:hành vi kỳ lạ của% Một định dạng với các đoàn thể phân biệt ngoài công lập

type Test = 
    | First 
    | Second 
    | Third 

let test = First 

printf "test=%A" test 

test=First 

như mong đợi, nhưng nếu tôi khai báo kiểu internal:

type internal Test = 
    | First 
    | Second 
    | Third 

let internal test = First 

printf "test=%A" test 

đầu ra trở thành:

test=FSI_0019+Test 

Đây có phải là thiết kế không? Tại sao? Hay một lỗi?

Tôi đang sử dụng Visual Studio 2010 với F # 2.0

Trả lời

11

Để in các thành viên ngoài công lập sử dụng dấu '+' cờ. Thực tế là nó bị thiếu trong MSDN trông giống như vấn đề doc:

printf "test=%+A" test 
+0

Cảm ơn! Vui vì nó không phải là tôi nhìn thấy một cái gì đó rõ ràng – MiMo

+0

FYI, chúng tôi đã cập nhật nó trên MSDN: http://msdn.microsoft.com/en-us/library/ee370560.aspx – latkin

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