Latest web development tutorials

Scala Funkcja zmiękczania (zmiękczanie)

funkcja Scala funkcja Scala

Currying (zmiękczanie) odnosi się do oryginału, funkcja przyjmuje dwa parametry do nowej funkcji przyjmuje parametr procesu. Nowa funkcja zwraca drugi parametr jest pierwotna funkcja parametru.

Przykłady

Po pierwsze, możemy zdefiniować funkcję:

def add(x:Int,y:Int)=x+y

Kiedy więc stosowany, powinien on być wykorzystywany tak: add (1,2)

Teraz przyjrzymy się tej zmiany kształtu funkcji:

def add(x:Int)(y:Int) = x + y

Kiedy więc stosowany, powinien on być wykorzystywany tak: add (1) (2), ostateczne wyniki są takie same, to 3, podejście to (proces) nazywa zmiękczania.

proces wdrożenia

add (1) (2) jest rzeczywiście funkcja z kolei wywołuje dwa zwyczajne (funkcja non-curry), pierwsze połączenie za pomocą parametru x, wartość zwracana funkcji typu, a drugi parametr y nazywają ten typ funkcji wartość.

Pierwszy zasadniczo przekształciła się metodą:

def add(x:Int)=(y:Int)=>x+y

Następnie funkcja ta jest co to znaczy? Odbieranie X jako parametr i zwraca anonimowej funkcji, definicja funkcji anonimowej jest: odbieranie argumentów y Int, ciało funkcji jest x + y. Teraz nazywamy tę metodę.

val result = add(1) 

Zwraca wynik, wartość tego wyniku powinny być anonimowa funkcja (y: Int) => 1 + y

Aby więc uzyskać wyniki, nadal nazywają wynik.

val sum = result(2)

Wreszcie wydrukować wynik jest 3.

Kompletny przykład

Powyżej znajduje się pełna przykładów:

object Test {
   def main(args: Array[String]) {
      val str1:String = "Hello, "
      val str2:String = "Scala!"
      println( "str1 + str2 = " +  strcat(str1)(str2) )
   }

   def strcat(s1: String)(s2: String) = {
      s1 + s2
   }
}

Realizacja powyższego kodu, wyjście jest:

$ scalac Test.scala
$ scala Test
str1 + str2 = Hello, Scala!

funkcja Scala funkcja Scala