In F # Interactive (fsi) können Sie AddPrinter
oder AddPrinterTransformer
verwenden, um in der interaktiven Sitzung einen hübschen Ausdruck für einen Typ bereitzustellen. Wie kann ich einen solchen Drucker für einen generischen Typ hinzufügen? Unter Verwendung des Wildcard _
für den Typ nicht funktioniert:Wie füge ich einen hübschen Drucker für einen generischen Typ zu fsi hinzu?
> fsi.AddPrinter(fun (A : MyList<_>) -> A.ToString());;
Der Drucker ist gerade nicht verwendet wird.
in einem Typ-Parameter Putting gibt auch eine Warnung:
> 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'.
was nicht, was ich will, auch nicht.
Ich bin mir ziemlich sicher, dass das nicht möglich ist. Ein Typ arg erfordert einen konkreten Typ. – Daniel
Können Sie 'ToString' für' MyList <'T> 'überschreiben? – Daniel