scala - getter for type parameter with more than one type for case object -
i want have method below code return case object
sealed trait myconstants[t] extends mytrait[t] case object extends myconstants[string] {val value = "abc"} case object b extends myconstants[int] {val value = 10} val list = seq(a, b) i have tried def getvalue[t](value: t): option[myconstants[t]] = list.find(_.value == value) not work.
first compiler has know extends myconstants has value member.
sealed trait myconstants[t] {val value:t} now can find() or filter() values match parameter.
def getvalue[a](value: a) = list.find(_.value == value) note: you're mixing types in list making getvalue() return type equally complex.
Comments
Post a Comment