質問

Method Update()では、2つのオブジェクト、Objecta、Objectbがあります。ObjectAまたはObjectBを受け入れる機能を作成したい(ただし、他の種類はありません)。概念的には、これが私がしようとしていることです。

def doSomething[T <: ObjectA | T <: ObjectB](obj: T) = {
    obj.update
}
.

私はこの問題を解決するための他の方法がある(例えば、更新()メソッドの構造タイピング、一般的な基本クラスなどの構造的タイピング)が、私の質問はScalaでこのようにすることが可能であり、そうであるならば構文?そしてこれは何ですか?

役に立ちましたか?

解決

Scalaでは、派生元の共用体を作成するための型があります。 基本的に、あなたは次のようなことをするでしょう:

def doSomething(obj: Either[ObjectA, ObjectB]) {
  obj.fold(fa, fb)
}
.

チェックアウト>>> http://www.scala-lang.org/api./current/scala/eiber.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top