2011-09-17 22 views
7

Bir dizeyi ayrıştırılmış birleşim olan AST türüne ayrıştıran bir F # programı yazıyorum.Yazdırma F # ayrımcılıklı birleşim

Kodumu çalıştırmak için fsi (Mono + Mac OS X'de) kullandığımda AST, güzel bir biçimde yazdırılır. Ama ben printfn "%s" <| ast.ToString() kullandığımda FSI_0002.Absyn+clazz gibi bir şey alıyorum. Tüm ayrımcı sendika türleri için ToString yönteminin yazılması büyük bir iş olacaktır.

fsi'un değerini nasıl yazdırabilirim?

+0

https://stackoverflow.com/questions/1259039/what-is-the-enum-getname-equivalent-for-f-union-member – knocte

cevap

9

printfn "%A" ast denediniz mi? %A belirteci, varsa StructuredFormatDisplayAttribute[MSDN] göz önünde bulundurur.

Daniel'in yorumuna ek olarak
+0

'nin olası kopyası Evet, işe yarıyor. Teşekkürler! :-) –