değişkenine sahip bir işleve parametre olarak geçirilmesi Örneğin or
adlı bir işleve sahibim;Bir Listenin değişken öğeleri
List(X, Y, Z)
Şimdi ne yapmam gerekiyor
or(func(X), func(Y), func(Z))
gibi çağrı or
Ve beklendiği gibi listenin uzunluğu değişebilir:
or(filters: FilterDefinition*)
Sonra bir liste var.
Scala'da bunu yapmanın en iyi yolu nedir?
def printme(s: String*) = s.foreach(println)
scala> printme(List("a","b","c"))
<console>:9: error: type mismatch;
found : List[String]
required: String
printme(List(a,b,c))
Gerçekten gerekenler
Tam olarak aynı soru değil ama yanıtın anahtarı olan ': _ *' notasyonunu verir (sadece 'list.map (func) 'yapabileceğinizi varsayarak): http://stackoverflow.com/questions/ 1008783 –
Tüm liste öğelerini iletir ve hepsini çağrılan işleve işlersek tion, daha sonra sadece listeye işlevin geçirilmesiyle yapılabilir ve fonksiyon, özel sözdizimine gerek olmadan, elemanlar aracılığıyla yineleyebilir: _ *, değil mi? Ya da yanlış olabilirim, bu kullanım için iyi bir sebep var mı? – user3366706
@ user3366706, bu şeyler yapmak için daha geleneksel bir yaklaşım olurdu, evet. Benim için bu, argüman değişken sayısı ile oluşturulan argümanı işlev argümanı olarak beklenen bir DSL ile uğraşırken inanılmaz derecede kullanışlı oldu. – Ashesh