OCaml に組み込まれた Lua の使用方法を示すコード スニペットを教えてください。
簡単な例としては、"Hello, World" バリアントが考えられます。OCaml でユーザーに名前の入力を求めるようにします。次に、その名前を Lua 関数に渡します。Lua に挨拶を出力させ、名前の長さを返します。次に、OCaml に名前の長さに関するメッセージを表示させます。
例:
user@desktop:~$ ./hello.opt
名前?ユーザー
こんにちは、ユーザーです。
あなたの名前は4文字です。
user@desktop:~$
[編集]
非 C プログラマーとして、Lua と OCaml の間でデータを渡すための中間 C プログラムを作成することなく、これを実装できますか?
以下は、私が試してみたいことの理論的な考えです。残念ながら、ocaml_hello.ml の 3 行目は、コードを有効にするために lua_hello.lua で定義された関数を呼び出す方法を知る必要があります。
lua_hello.lua 引数を出力してその長さを返す lua_hello を定義します。
1 function lua_hello (name)
2 print ("Hello, "..name..".")
3 return (string.len (name))
4 end
ocaml_hello.ml OCaml は名前の入力を求め、Lua 関数を呼び出し、戻り値を出力します。
1 let () = print_string "Name? "; flush stdout in
2 let name = input_line stdin in
3 let len = Lua_hello.lua_hello name in
4 Printf.printf "Your name is %d letters long." len; flush stdout;;