F # Interactive (fsi) içinde, etkileşimli oturumda bir tür için güzel yazdırma sağlamak için AddPrinter
veya AddPrinterTransformer
kullanabilirsiniz. Genel bir tür için böyle bir yazıcıyı nasıl ekleyebilirim? türü için joker _
kullanma çalışmaz:Genel bir tür için güzel bir yazıcıyı nasıl fsi'ye eklerim?
> fsi.AddPrinter(fun (A : MyList<_>) -> A.ToString());;
yazıcı sadece kullanılmaz. Ya, ne istiyorum değil
> fsi.AddPrinter(fun (A : MyList<'T>) -> A.ToString());;
fsi.AddPrinter(fun (A : MyList<'T>) -> A.ToString());;
-------------------------------^^
d:\projects\stdin(70,51): warning FS0064: This construct causes code
to be less generic than indicated by the type annotations. The type
variable 'T been constrained to be type 'obj'.
: bir tür parametresinde koyarak
bir uyarı da verir.
Bunun mümkün olmadığından eminim. Bir tür arg, somut bir tip gerektirir. – Daniel
'MyList <'T>' için 'ToString' öğesini geçersiz kılabilirsiniz? – Daniel