問題タブ [ocaml-batteries]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ocaml - OCaml のシンボルが理解できない
私は最近、いくつかの基本的な資料とOCamlで書かれたプロジェクトによってOCamlを学んでいます。しかし、OCaml のいくつかの記号がわかりません。例えば:
これらの記号 ` はどういう意味ですか?
また、他の記号も理解するのが難しいです:
- |>
- _
OCaml Manualには何も見つかりません。誰かが上記の記号について詳しく説明できますか? または、私にいくつかの資料をお勧めしますか?
ocaml - OCamlで派生とバッテリーを同時に使用するには?
したがって、基本的に私のプロジェクトでは、batteries
(forFile.lines_of
およびその他の関連関数) とderiving
(for Show.show
) を同時に使用する必要があります。
ただし、 Macにopam
パッケージをインストールするために使用するderiving
と、最初にパッケージが削除されbatteries
、その後インストールが開始されるようderiving
です..
batteries
を使用してインストールするopam
と、最初に削除されderiving
ます...
私の設定に何か問題がありますか..?それとも普通のケースですか..?batteries
では、とderiving
を同時に使用するにはどうすればよいですか?
ocaml - OCamlバッテリーが値を上書きしないようにする方法
パッケージ Batteries.Num は関数 (+)、(-) をオーバーライドします。したがって、コンパイラは次の単純なコードでエラーを返します。
ファイル "a.ml"、3 行目、8 ~ 9 文字目: エラー: この式は int 型ですが、Batteries.Num.num = Num.num 型の式が予期されていました
「ocamlfind ocamlc -package battery a.ml」でコンパイルします。
編集: Pervasives.(+) を使用するか、Num をローカルで開くことができることはわかっています。
しかし、最も単純な _tags ファイルを使用して、このプログラムを ocamlbuild で正常にコンパイルできます: <*>: pkg_batteries, package(batteries), package(num)
魔法はどこ?ocamlbuild が Makefile で行うようにコンパイルするにはどうすればよいですか?
編集:解決策を見つけました。実際には2つのバージョンのバッテリー(1.4と2.2)があり、ocamlfindはコマンドラインでバージョン2.2を、ocamlbuildで1.4を提供しました。どうしてか分かりません。バッテリーの初期のバージョンはモジュール Num を再定義しなかったと思います (ただし、BatNum を使用する必要がありました)。そのため、古いバージョンでは問題は発生しません。答えてくれてありがとう。
ocaml - バッテリーに依存するファイルを ocamltop にロードする -- インターフェースが一致しない
これは簡単な ocaml ファイルです。これは、Batteries ライブラリを使用するプログラムを ocamltop にロードする方法を理解してもらうためのものです。
batteryassault.ml
これをバイトコードにコンパイルします
結果は batteryassault.cmo と batteryassault.cmi になり、エラーも警告もありません。次に、バッテリー駆動の ocamltop を起動します。
最後に、ファイルを ocamltop にロードするには:
そして、エラーが発生します。
ファイル batteryassault.cmo と /usr/lib/ocaml/batteries/batteries.cma はインターフェース Batteries について意見が一致していません
Ubuntu がバッテリー 2.2.1 をインストールしている可能性があると思いますが、何らかの理由で (merlin をインストールしていますか?) opam フォルダーにバッテリー 2.3.1 がインストールされています。さらに、上記のようにバッテリーを使用して ocamltop を起動すると、 ocamltop が 2.2.1 バージョンを使用していることを示します。さらに、でコンパイル
ocamlc は間違いなく opam のライブラリ、つまり 2.3.1 バージョンを使用していることがわかります。
だから私の質問は次のとおりです。/回避策は何ですか?
functional-programming - OCamlで配列要素のインデックスを見つける方法
ocaml で整数配列要素のインデックスを見つけようとしています。これを再帰的に行う方法。コード例:let a = [|2; 3; 10|];;
配列 a のインデックス 3 を返したいとします。どんな助けでも感謝します。OCaml プログラミングは初めてです
ocaml - ocamlバッテリーがバインドされていないトップループエラー
Ubuntu 14.04 の ropc/bap/INSTALL の指示に従って、 ropc https://github.com/pakt/ropcに必要な bap をインストールしようとしています。これらのコマンドを正常に実行しました。
ここで、bap ディレクトリ内に作成すると、次の Unbound module toploop エラーが発生します。これは、バッテリーと ocaml の間の互換性の問題のようです。どうすればこれを回避できますか? 詳しくは画像をご覧ください
-I +compiler-libs をどこかに追加する必要があることを読みました。しかし、正確にはどこですか?私は ocaml を使用した経験がなく、ropc をうまく構築しようとしています。