utopでは、ライブラリを(〜require ...を介して)開くとき、またはモジュールを開くとき(Module_nameを開いて)、ライブラリやモジュールの内容を取得する方法はありますか? utopは完了タブでこれを提供していますが、すべての機能を一度に見たいと思います。ocaml:utop、モジュールのすべての機能をリストする方法はありますか?
答えて
utop
には、#show
コマンドを使用できます。例
utop # #show Stack;;
module Stack :
sig
type 'a t
exception Empty
val create : unit -> 'a t
val push : 'a -> 'a t -> unit
val pop : 'a t -> 'a
val top : 'a t -> 'a
val clear : 'a t -> unit
val copy : 'a t -> 'a t
val is_empty : 'a t -> bool
val length : 'a t -> int
val iter : ('a -> unit) -> 'a t -> unit
end
必ずしもutopには、次のように使用することができない:
# module type S = module type of Module_of_your_interest;;
module type S =
sig
...
...
end
警告:いくつかのモジュールは、本当に大きな署名を持っています。
関数の "docstring"を取得するにはどうすればよいですか?私は帽子Stack.popを知りたいと言いますか? –
については、あなたが書くことができ、ライブラリで利用可能な関数名に興味がある場合:
#module S = Library_name;;
例えば:
#module M = String;;
出力は次のようになります。
モジュールM:sig externexternal get:string - > int - > char = "%string_safe_get" 外部セット:文字列 - > int - > char - > unit = "%string_safe_set" external create文字列 - > int = "%string_length" :int - > string = "caml_create_string" val make:int - > char - > string valコピー:文字列 - >文字列 valサブ:string - > int - > int - >文字列 val fill:string - > int - > int - > char - > unit val blit:string - > int - > string - > int - > int - >単位 val concat:文字列 - >文字列リスト - >文字列 val iter:(char - > unit ) - > string - > unit val iteri:(int - > char - > unit) - > string - > unit valマップ:(char - > char) - > stri ng - > string val trim:string - > string valエスケープ:文字列 - >文字列 valインデックス:文字列 - > char - > int val rindex:文字列 - > char - > int val index_from:string - > int - > char - > int val rindex_from:string - > int - > char - > int valには文字列 - > char - > boolが含まれています val contains_from:string - > int - > char - > bool val rcontains_from:string - > int型 - >チャー - > BOOL ヴァル大文字:文字列 - >列 ヴァル小文字:文字列 - >列 valが大文字:文字列 - >列 ヴァルのuncapitalize:文字列 - >列 型T =列 ヴァル比較する:T - > T - > INT 外部unsafe_get:文字列 - > int型 - > CHAR = "%のstring_unsafe_get" 外部unsafe_set:文字列 - > int型 - >チャー - >単位 = "%のstring_unsafe_set" 外部unsafe_blit :string - > int - > string - > int - > int - > unit = "caml_blit_string" "noalloc" 外部unsafe_fill:文字列 - > int - > int - > char - >単位 = "caml_fill_string" "noalloc" end
その後、MをStringのエイリアスとして使用することもできます。 e。g:
# M.concat " " ["one"; "two"; "three"];;
完成度:ocamlトップレベルでは、これは '#show_module Stack ;;' –
になります。関数の "docstring"をどういう形で取得できますか? –