、種類はファーストクラスの値です:Scalaで型をファーストクラスの値として使用しますか?イドリスで
FooType : (Type, Type)
FooType = (Int, Int)
fst FooType -- Int : Type
私は別の方法を超えるタイプのメンバーを再利用できるように、Scalaで何とかこの機能を使用したいと思います:
class Foo {
type FooType = (Int, Int)
def foo : FooType = { ... }
def bar : Int = { ... } // Here I would like to reuse the first type of FooType (Int)
}
は何ですかScalaでこれを達成するための推奨される方法は?
「FooType」は、定義されたスコープに対して利用可能です。異なるメソッド*で型メンバーを再利用することはどういう意味ですか?どのような場所でも 'FooType'を使うことを妨げているのは何ですか? –
@YuvalItzchakov 'FooType'は' Tuple2 [T1、T2] '型です。' FooType'の型メンバーに基づいてメソッドを定義したいと考えています。単に 'Int'ではなく' 'FooType._1'"(T1)を使用して、定義された型を再利用します。私はこれが可能だとは確信していません。 – jarandaf
ああ、そうだ。 'FooType'をクラスのメンバーに基づいて推定しますか? –