0

私は最近、いくつかの基本的な資料とOCamlで書かれたプロジェクトによってOCamlを学んでいます。しかし、OCaml のいくつかの記号がわかりません。例えば:

open Batteries

type char_token = [ 
      | `Char of int
      | `Escape of char list
      ]

これらの記号 ` はどういう意味ですか?
また、他の記号も理解するのが難しいです:

  • |>
  • _

OCaml Manualには何も見つかりません。誰かが上記の記号について詳しく説明できますか? または、私にいくつかの資料をお勧めしますか?

4

2 に答える 2

2

`Fooおよび[>ポリモーフィック バリアントです ( http://caml.inria.fr/pub/docs/manual-ocaml-4.00/manual006.html#toc36 )。それらはおそらく初心者には価値がありませんが、私の古い回答の 1 つ ( OCaml で既存の型を拡張する) を見て、それらの使用方法を確認できます。

_何にでもマッチするパターンです:

let head l = match l with
| x :: _ -> x
| _ -> failwith "empty list"

両方とも_、コンパイラーに「気にしないこと」と言うのに使用されます。

于 2013-11-11T12:25:55.040 に答える
1

` で始まる識別子は多態的なバリアントです。大まかに言えば、それらは構造的に型付けされたバリアントです。

|>は中置演算子です。おそらく、関数適用 (意味) であるBatteriesで定義されているものを考えているでしょう。x |> ff x

_は、「バインドせずに何にでも一致する」ことを意味する、一致パターンの特別な記号です。

于 2013-11-11T12:27:35.633 に答える