17 HAZİRAN 2009, ÇARŞAMBA
Kullanarak Scala varargs
Şu: nasıl anlamaya çalışıyorum benim saç yırtılma ediyorum
def foo(msf: String, o: Any, os: Any*) = {
println( String.format(msf, o :: List(os:_*)) )
}
o
os
Seq
Bir bir yöntem ayrı ayrı bildirmek zorunda olduğum bir nedeni var. Temelde, ben format yöntemi tek nesne bir parametre (tür List
) denir. Çalışırken:
def foo(msf: String, o: Any, os: Any*) = {
println( String.format(msf, (o :: List(os:_*))).toArray )
}
Bana tip hata verir:
buldum: Dizi[Herhangi bir]
gerekli Seq[java.lang.Nesne]
Ama ilk örnek olarak hemen hemen aynı sebepten derler başarısız olan döküm denedim. Çalıştığımda
println(String.format(msg, (o :: List(os:_*)) :_* ))
bu örtülü dönüşüm belirsizlik (any2ArrowAssoc
any2stringadd
) ile derlemek için başarısız olur
CEVAP
17 HAZİRAN 2009, ÇARŞAMBA
def foo(msf: String, o: AnyRef, os: AnyRef*) =
println( String.format(msf, (o :: os.toList).toArray : _* ))
Bunu Paylaş:
Nasıl dava sınıfı scala bir Numaraland...
'In Scala desen eşleştirme sistem...
Sınıf Joda Zaman kırık hata Scala kull...
Nasıl maç Scala düzenli ifade kullanar...
Nasıl ayrıştırma Scala standart Scala ...