Вы можете написать общий max
, например:
def max[T](a: T, b: T)(implicit ord: Ordering[T]) =
if (ord.compare(a, b) >= 0) { a } else { b }
Если вы хотите, вы можете ограничить поддерживаемые типы, но не совсем понятно, что это особенно полезно.
def maxEnum[T <: Enumeration#Value](a: T, b: T)(implicit ord: Ordering[T]) =
if (ord.compare(a, b) >= 0) { a } else { b }