2013-02-09 5 views
6

Die Ausgabe von:Seltsames Verhalten von% Ein Format mit nicht-öffentlichen diskriminiert Gewerkschaften

type Test = 
    | First 
    | Second 
    | Third 

let test = First 

printf "test=%A" test 

ist

test=First 

wie erwartet, aber wenn ich erklären die Art internal:

type internal Test = 
    | First 
    | Second 
    | Third 

let internal test = First 

printf "test=%A" test 

der Ausgang wird:

test=FSI_0019+Test 

Ist das von Entwurf? Warum? Oder ein Fehler?

Ich bin mit Visual Studio 2010 mit F # 2.0

Antwort

11

nicht-öffentlichen Mitgliedern den '+' Flag verwenden zu drucken. Die Tatsache, dass es in MSDN fehlt, sieht aus wie ein Problem mit dem Dokument:

printf "test=%+A" test 
+0

Vielen Dank! Freut mich, dass ich nicht etwas offensichtlich übersehen habe – MiMo

+0

FYI, wir haben es jetzt auf MSDN aktualisiert: http://msdn.microsoft.com/en-us/library/ee370560.aspx – latkin