F# fsi.AddPrinterの続きとして: AddPrinter にはリストを分解する機能がありますか?
タイププリンターがリストを入力として処理できるようにする必要があることを知りませんでした。
そのため、活字プリンターに何が必要であるか、または必要とされるべきかについて、公開された標準はありますか?
そのようなコードの例への参照を提供してください。
F# fsi.AddPrinterの続きとして: AddPrinter にはリストを分解する機能がありますか?
タイププリンターがリストを入力として処理できるようにする必要があることを知りませんでした。
そのため、活字プリンターに何が必要であるか、または必要とされるべきかについて、公開された標準はありますか?
そのようなコードの例への参照を提供してください。
タイププリンターがリストを入力として処理できるようにする必要があることを知りませんでした。
そうしないことをお勧めします。これを行うと、KISS の原則が破られ、非常に標準的な'T list
. プリンターを提供するだけで'T
、あとは F# Interactive に任せてください。
あなたはこのケースを考えるかもしれません
type Theorem = Axiom list
気にTheorem
なるところ、適切な方法で表示したいところ。Theorem
次に、 a が次のように出力されるようにプリンターを定義するのが理にかなっています。
:- axiom 1, axiom 2, ..., axiom n.
この例はあまり良い例ではありません。なぜなら、あなたはおそらくタイプ セーフなソリューションを好むからです。
type Theorem = Theorem of Axiom list
fsi.AddPrinter
そうは言っても、あなたはまったく行くべきかどうか尋ねるかもしれません. fsi.AddPrinter
従来の理由により、ビットが存在する可能性があります。より普遍的な解決策は、ToString()
メソッドをオーバーライドし、 StructuredFormatDisplay属性を使用して、、 などで動作する とfsc
の両方で適切なプリンターを使用することです。fsi
printf "%A"
printf "%O"