こんにちは、これは初めてのスタックオーバーフローの投稿です。OCamlで型を構築しようとしているときに問題が発生しました。OCamlの再帰型ですか?
ノード/リーフ/ etcを持つタイプツリーを構築しようとしています。これは私がこれまで持っていたものです。
私のノードは、その名前と別のツリーをタプルとして含む型であると考えられます。しかし、これをコンパイルしようとすると、ツリーには2つの引数が必要であると言われました。だから私は試しました:
type ('a, 'b) tree = Empty | Leaf of 'b | Node of ('a * tree ('a*'b))
私はまだエラーが発生していました。私が間違っていることに気づいたものは何ですか?ありがとう!
おそらくPStype ('a, 'b) tree = Empty | Leaf of 'b | Node of ('a, 'b) tree * 'a * ('a, 'b) tree
かかわらず、あなたのノードは、2つの、複数の子を持って欲しい
私の文法は間違っていました。実際には ノード( 'a *(' a、 'b)ツリー) – Brian
が正しいはずです。それはあなたの質問に答えるので、ガスチェスの答えを受け入れることは丁寧です。私はあなたが葉と内部のノードのための明確な型を必要としていると確信しているのだろうか? –