0
type 'k leaf = {a_bb : 'k -> string;}
ocamlのこのコード行が何を意味するのか理解できません。誰も助けることができますか?このocamlの構文は何を意味していますか?
type 'k leaf = {a_bb : 'k -> string;}
ocamlのこのコード行が何を意味するのか理解できません。誰も助けることができますか?このocamlの構文は何を意味していますか?
それは'k
は、我々は前に述べたパラメータであるタイプ'k -> string
の一つのフィールドa_bb
とレコード型である'k
変数の型の上にparametrised新しいタイプleaf
を宣言します。
タイプ'k leaf
の値の例は次のようになります
{ a_bb = fun _ -> "Hello World!" }
しかし'k
もコンクリート型などに特化することができますフィールドa_bb
内の関数への引数が意味を作るために表現if b then (...)
のブールなければならないので、
{ a_bb = fun b -> if b then "Hello World!" else "Argh!" }
はタイプbool leaf
を持っています。
あなたはそうのような突起部を使用することにより、フィールドa_bb
で機能にアクセスすることができます。
fun v -> v.a_bb
ありがとうございました。それが私には明らかでした。 – user2524261