SATySFiでlistやoptionなどを文字列化して表示する方法
概要
自分が作成したdebug-show-valueというパッケージを使用することで、リストやオプションなどを簡単に文字列化できます。
自分の作った関数のデバッグ用にとても便利です。
インストール方法
Satyrographosを使う場合
$ opam update $ opam install satysfi-debug-show-value $ satyrographos install
でインストールができます。
手動で行う場合
まず
$ git clone https://github.com/puripuri2100/SATySFi-debug-show-value
をすることで手元にリポジトリのコピーを作成します。
次に、LIBROOT/local/packages/
以下にdebug-show-value
というフォルダを作ります。
最後に、フォルダ内のdebug-show-value.satyg
をLIBROOT/local/packages/debug-show-value/
にコピーします。
これで完了です。
提供する関数
モジュール名はDebugShowValue
です。
プリミティブな型の変換
show-int : int -> string
show-string : string -> string
show-bool : bool -> string
show-length-pt : length -> string
show-length-mm : length -> string
show-length-inch : length -> string
show-unit : unit -> string
show-point : point -> string
show-color : color -> string
関数名から役割はわかるとは思いますが、その型を与えると文字列にします。length
に関しては、基準とする単位を定めることができます。
組み合わせる型の変換
show-tuple : ('a -> string) -> 'a list -> string
show-list : ('a -> string) -> 'a list -> string
show-opt : ('a -> string) -> 'a option -> string
show-opt-list : ('a -> string) -> ('a option) list -> string
show-tuple
では同じ型のtupleしか表現できないので、異なる型でのtupleを表示したい場合は、
show-tuple (fun s -> s) [show-int 1; show-bool true]
などのようにしてください。
おわりに
リストの表示やoption型の表示は結構面倒なので、これで簡略化できるととても良いと思っています。