0
extractValues
に含まれる正しいタイプを返すにはどうすればよいですか?リストまたはオプションのマッチングタイプを返す
trait Ok[T]
case class OkSingle[U](value: Option[U]) extends Ok[U]
case class OkList[U](value: List[U]) extends Ok[U]
def extractValues[T](o: Ok[T]): Traversable[T] = o match {
case OkList(l) => l
case OkSingle(v) => v
}
extractValues(OkSingle(Option(1))) // 1
extractValues(OkList(List(1))) // 2
(1)及び(2)List(1)
を返します。私は(1)がSome(1)
を返すようにしたい。おそらく私はcase class
とtrait
デザイン全体を再定義する必要があります。ありがとう。