Dopasowywanie wzorca w typie ogólnym w Scali
Mam funkcję scala, która wygląda tak:
Teraz, w zależności od typu T (w moim przypadku może tak byćDouble
, Boolean
iLocalDate
), Muszę zastosować funkcjeob
. Coś w tym stylu (wiem, że kod nie ma sensu, ale próbuję przekazać, co mam zamiar zrobić):
def X[T](ob: Observable[T]): Observable[T] = {
//code
T match {
case Double => DoSomething1(ob:Observable[Double]):Observable[Double]
case Boolean => DoSomething2(ob:Observable[Boolean]):Observable[Boolean]
case LocalDate => DoSomething3(ob:Observable[LocalDate]):Observable[LocalDate]
}
}
Biorąc pod uwagę właściwość Erasure firmy Scala, czy można jakoś wykorzystać odbicie do wykonania zadania? Czy to możliwe?