Przeczytałem dobry fragment Expert F # i pracuję nad budową rzeczywistej aplikacji. Podczas debugowania, mam przyzwyczajeni do przechodzącej polecenia FSI tak aby rzeczy czytelne w oknie repl:Jak dostosować dane wyjściowe niestandardowego typu za pomocą printf?
fsi.AddPrinter(fun (x : myType) -> myType.ToString())
chciałbym rozszerzyć to do pracy z formatyzatora printf, więc mogę wpisać np
printf "%A" instanceOfMyType
i kontrolować dane wyjściowe dla niestandardowego typu. Książka sugeruje, że można to zrobić (s. 93, "Ogólne formatowanie strukturalne można rozszerzyć do pracy z dowolnymi typami danych zdefiniowanymi przez użytkownika, tematem omówionym na stronie F #"), ale nie udało mi się znaleźć żadnych odniesień co do jak faktycznie to osiągnąć. Czy ktoś wie jak? Czy to możliwe?
Edit:
powinno mam włączone próbkę kodu, jest to typ rekordu, że mam do czynienia, na przykład
type myType =
{a: int}
override m.ToString() = "hello"
let t = {a=5}
printfn "%A" t
printfn "%A" (box t)
oba zdania drukowania Wydajność:
{a = 5;}
BTW, przyznanie @Brian za opublikowanie tych linków w komentarzu uzupełniającym do jego odpowiedzi. Po prostu pomyślałem, że warto dla kogoś, kto przychodzi na poszukiwania, warto się spieszyć. –