ocaml

    1

    2答えて

    に let rec (l:int list) f int list = match l with | [] -> [] | hd::tl -> 2+tl パターンマッチング私が知りたいのは、私がこれを行うとき、私はエラーを取得しておくので、tlが第二ではない場合、最初の要素、その後tlは、第二の要素であるhdとき私は

    2

    1答えて

    私はこのプログラムを持っている: open Core.Std open Async.Std let() = printf "a" はでそれをビルドします。corebuild -pkg async,core a.native をこのプログラムは、 "A" を印刷することはできませんが、私はこのようにそれを変更すると、それは以下となります。 open Async.Std open

    1

    4答えて

    私は絶対OCaml初心者です。私は文字を20回繰り返す関数を作りたいと思っています。 これは機能ですが、エラーのために機能しません。 let string20 s = let n = 20 in s^string20 s (n - 1);; string20 "u";; 私はこの # string20 "u" - : string = "uuuuuuuuuuuuuuu

    3

    1答えて

    配列と文字列のインデックスは、なぜ微妙に異なる構文を使用するのですか? など。 let _: int = [|1;2;3|].(0) let _: char = "123".[0] I(およびその他)は、これが奇妙で混乱していると判断します。 OCamlのアドホック多型/関数のオーバーロードとインデックスオペレータが現在のOCamlの関数の形として考えられ、このように対象とされて見送る:OC

    0

    1答えて

    PPTの拡張機能などを使用して、機能の更新構文{ record with key = value }をネストされたレコードで使用する方法はありますか? たとえば、次の例のプログラムでは、「内側の」ターゲットを実際にターゲットにしたいとき、最も外側のレコードのみを機能的に更新しています。 type outer = { a : float; b : inner } and in

    0

    2答えて

    "実装する必要のある新しいモジュール"を作成せずに、mli内のモジュールをエイリアスすることは可能ですか? この例はかなり工夫されていますが、たとえば、次のソースファイルint_wrapper.mlがあるとします。 type t = Int64.t let zero = Int64.of_string "0" インターフェイスファイルを定義しますが、Int64.tはかなり長いので、省略した

    1

    1答えて

    このようなことは可能ですか? こんにちはすべて、私たちは、機能と命令型プログラミングを使用して、OCamlの中でバイナリ検索ツリーを実装するように言われた私のクラスで 。 ポインタを使用する手続き型言語であるパスカル(Pascal)でADTと実装を行っています。我々はまた、いくつかの基本的なBST業務を与えられた # Pascal type tKey = integer;

    0

    1答えて

    次のように、機能の高さが定義されています let height = function Empty -> 0 | Node(_,_,_,_,h) -> h 私の質問は:がどこノード()が実際に定義されていますか? ocamlソースファイル全体を検索して何もしていません。 ありがとうございます! map.mlのためのOCaml 4.05.0ソースで

    0

    1答えて

    Vimから呼びたいOCamlプログラムがあります。私.vimrcで 、私はOCamlのバイトコードを実行すべきコマンドを定義している: command! MyCommand call FunctionCallingOCaml() function! FunctionCallingOCaml() let scriptPath = $HOME . "/path/to/myOCamlProg