SomeType[T]
türünde bir sürü nesnem var. Bazıları SomeType[String]
, bazıları SomeType[Int]
, vb. Gibi. Bunların değişken boyutlu bir setini (ancak potansiyel olarak farklı türlerde) alan bir işlev yazmak istiyorum.Farklı boyutlarda değişken boyutlu girişler
Ben tipleri aşağıdaki gibi bir şey kullanabilirsiniz hepsi aynı olduğunu biliyorsanız:
def someFun[T](inputs: SomeType[T]*): = {
// do something here on the list of inputs.
}
Herhangi fikirleri nasıl jenerik potansiyel farklı türde girdilerin listesini alır, böylece yapılır? (ör. inputs: SomeType[String]
ve inputs: SomeType[Int]
) BTW, daha sonra tip bilgilerine ihtiyacım olduğu için SomeType[_]
kullanmak istemiyorum.
Bu yöntem ne tür bir sonuç döndürüyor? 'SomeType [_] 'adlı bir wildcard kullanabilirsiniz, ancak tür bilgisi kaybedersiniz .. bu yüzden cevap gerçekten de bu yöntemin gövdesinin ne olduğuna bağlıdır. Esasen aradığınız şey bir K listesidir. –
İyi nokta. Daha sonra tip bilgisine ihtiyacım olduğundan '_' yapamam: -/ – Daniel
Shapeless '[HList]' e bir göz atın (https://github.com/milessabin/shapeless/wiki/Feature-overview:-shapeless-2.0 0,0 # heterojen-listeleri). – Aivean