文字列を受け取って実行するこの js_of_ocaml コードがあります (文字列が OCaml コードであると仮定します):
let () = JsooTop.initialize ()
let execute code =
let code = Js.to_string code in
let buffer = Buffer.create 100 in
let formatter = Format.formatter_of_buffer buffer in
JsooTop.execute true formatter code;
Js.string (Buffer.contents buffer)
(* Usage: *)
let () =
let ret_val_1 = execute "let x = 5;;" in
let ret_val_2 = execute "print_int (x * x);;" in (* 25 appears in the browser console. *)
print_endline ret_val_1; (* Prints: "val x : int = 5" *)
print_endline ret_val_2 (* Prints: "- : unit = ()" *)
25
行があるため、コードの実行後にブラウザ コンソールに表示されますprint_int (x * x)
。25
ブラウザーコンソールに表示する代わりに、DOM で出力 (つまり) を使用したい。js_of_ocaml の印刷関数によって生成される標準出力をキャプチャするにはどうすればよいですか? 25
つまり、上記のコード内からどのように取得できますか?