OptionParserを試す

30分プログラム、その232。ExtLibのOptParseを試してみる。
なかなかいいね。標準のArgと違って、Unixのロングオプション(--long=XXX)とショートオプション(-l XXX)を同時に設定できるのが気にいった。
オプションの取得がちょっとだけ面倒かもしれない。

ソースコード

(* ocamlfind ocamlc -linkpkg -package extlib opt.ml *)
open OptParse

let (@@) f g = f g

let _ = 
  let opt = OptParser.make () in
  let f_option = StdOpt.str_option ~metavar:"FOO" () in
  let _ = OptParser.add opt ~short_name:'f' ~help:"foobar" f_option in
  let rest = OptParser.parse_argv opt in
    (* parse*)
    Std.print rest;

    (* get option *)
    Std.print @@ Option.get @@ f_option.Opt.option_get ()