7.10. Metody z kilkoma listami parametrów
Metody mogą mieć więcej niż jedną listę parametrów. Taka metoda jest zdefiniowana w pliku SeveralParameterLists1.scala.
Plik SeveralParameterLists1.scala: final class Loop { def repeat(n: Int)(body: => Unit) { body if (n > 1) repeat(n-1)(body) } }
Oto przykładowy sposób jej użycia.
scala> (new Loop).repeat(2)(println("Hello!"))
Hello!
Hello!
W przypadku listy parametrów mającej jeden element, Scala pozwala w wywołaniu zastąpić nawiasy okrągłe nawiasami klamrowymi. Metodę repeat można zatem na przykład wywołać również w sposób następujący.
scala> (new Loop).repeat(3) { println("Hello!") }
Hello!
Hello!
Hello!
Plik SeveralParameterLists1.scala:
final class Loop {
def repeat(n: Int)(body: => Unit) {
body
if (n > 1) repeat(n-1)(body)
}
}
