に無名関数にタプルタイプを指定するには、次のように私はmap_tree
と呼ばれる機能があります。どのようにScalaの
def fold_tree[A,B](f1: A => B) (f2: (A,B,B) => B) (t: Tree[A]) : B = t match {
case Leaf(value) => f1(value)
case Node(value , l, r) => f2 (value, fold_tree (f1) (f2) (l), fold_tree (f1) (f2) (r))
}
と私はTree[A]
を取り、A
を返すright_most
と呼ばれる機能を実装する必要があります。ここでの私の試みです:
は、しかし、私は、次のエラーを取得:発見し、同じように必要な
found : ((A, A, A)) => A
required: (A, A, A) => A
fold_tree ((x: A) => x) ((v: (A, A, A)) => v._3) (t)
^
one error found
は、私には見えます。その後、何がエラーですか?さらに、匿名関数でタプルの型を指定するにはどうすればよいですか?なぜ関数シグネチャにタプル型を指定する必要があるのですか?それをスケーラで推論することはできませんか?
'fold_tree'の定義は何ですか? – Rumoku
申し訳ありませんが、誤ってmap_treeが含まれています。 fold_treeに置き換えました。 –