У меня есть куча объектов типа SomeType[T]
. Как и некоторые из них: SomeType[String]
, некоторые из них - SomeType[Int]
и т. Д. Я хочу написать функцию, которая получает набор переменных размера (но, возможно, разных типов).входы переменного тока различного типа
Если я знаю, что типы все же я мог бы использовать что-то вроде следующего:
def someFun[T](inputs: SomeType[T]*): = {
// do something here on the list of inputs.
}
Любые идеи, как сделать его общим, так что он получает список входов с потенциально различными типами? (например, inputs: SomeType[String]
и inputs: SomeType[Int]
) BTW, я не хочу использовать SomeType[_]
, так как мне нужна информация о типе позже.
Какой тип возвращает этот метод? Вы можете использовать wild card 'SomeType [_]', но вы потеряете информацию о типе ... поэтому ответ действительно зависит от того, что требует тело этого метода. То, что вы ищете, - это K-лист. –
Хорошая точка. Я не могу сделать '_', так как мне нужна информация о типе позже: -/ – Daniel
Взгляните на Shapeless '[HList] (https://github.com/milessabin/shapeless/wiki/Feature-overview:-shapeless-2.0 .0 # гетерогенные-листы). – Aivean