Mam na przykład funkcję o nazwie or
, która jest zdefiniowana jako;Przekazywanie elementów listy jako parametrów do funkcji o zmiennych argumentach
or(filters: FilterDefinition*)
A potem mam listę:
List(X, Y, Z)
Co teraz trzeba zrobić, to zadzwonić or
jak
or(func(X), func(Y), func(Z))
i zgodnie z oczekiwaniami długość listy mogą ulec zmianie.
Jaki jest najlepszy sposób na zrobienie tego w Scali?
To nie jest dokładnie to samo pytanie, ale zawiera notację ": _ *", która jest kluczem do odpowiedzi (zakładając, że możesz po prostu 'list.map (func)'!): Http://stackoverflow.com/questions/ 1008783 –
Jeśli przekazujemy całą listę elementów i przetwarzamy je wszystkie w wywołanym funkc można to zrobić, po prostu przekazując listę do funkcji i funkcja może iterować przez elementy, bez potrzeby specjalnej składni: _ *, prawda? Czy mogę się mylić, czy istnieje jakiś dobry powód takiego użycia? – user3366706
@ user3366706 byłoby bardziej tradycyjne podejście do rzeczy, tak. U mnie było to niezwykle przydatne w przypadku DSL, który oczekiwał wygenerowanego zapytania jako argumentu funkcji - ze zmienną liczbą argumentów. – Ashesh