Latest web development tutorials

funzione Scala

È un insieme di funzioni per eseguire una missione insieme. È possibile inserire il codice in funzioni diverse. Come dividere il codice in funzioni separate sta a voi decidere, ma logicamente diviso solito svolgere ogni funzione in base a un compito specifico da svolgere.

Scala ha funzioni e metodi, sia sulla piccola differenza nella semantica. Metodo Scala è parte di una classe, e la funzione è un oggetto che può essere assegnato ad una variabile. In altre parole, la funzione definita in una classe che è un metodo.

Siamo in grado di definire le funzioni da nessuna parte, le funzioni definite anche (funzione inline) all'interno della funzione. Il punto più importante è Scala nome della funzione può essere costituita dei seguenti caratteri speciali:+, +, -, e, -, -, \, /,:, etc.


dichiarazione di funzione

dichiarazione di funzione Scala nel seguente formato:

def functionName ([参数列表]) : [return type]

Se non si scrive il segno di uguale e il corpo del metodo, il metodo è implicitamente dichiarata 'astratto (abstract) ", contenente tipo è quindi un tipo astratto.


definizione di funzione

Il metodo è definito da una parola chiave di inizio def, seguita da una lista opzionale di parametri, i due punti: e il tipo di metodo, un numero uguale a "=" ritorno, e infine il corpo del metodo "."

la funzione Scala è definito nel seguente formato:

def functionName ([参数列表]) : [return type] = {
   function body
   return [expr]
}

Il codice ditipo di ritorno di cui sopra può essere qualsiasi tipo di dati valido Scala.parametri delle liste dei parametri possono essere separati da virgole.

Caratteristiche La seguente funzione viene passata due parametri sono sommate e la somma:

object add{
   def addInt( a:Int, b:Int ) : Int = {
      var sum:Int = 0
      sum = a + b

      return sum
   }
}

Se la funzione non restituisce un valore, è possibile restituirel'unità, questo è simile a nulladiJava, gliesempi sono i seguenti:

object Hello{
   def printMe( ) : Unit = {
      println("Hello, Scala!")
   }
}

richiamo della funzione

Scala offre una varietà di modi diversi di chiamare la funzione:

Quanto segue è la chiamata al metodo formato standard:

functionName( 参数列表 )

Se la funzione viene utilizzata per richiamare l'istanza dell'oggetto, siamo in grado di utilizzare un formato java simile (utilizzando ilnumero.):

[instance.]functionName( 参数列表 )

Gli esempi sopra riportati dimostrano la definizione e chiamando l'istanza funzione di:

object Test {
   def main(args: Array[String]) {
        println( "Returned Value : " + addInt(5,7) );
   }
   def addInt( a:Int, b:Int ) : Int = {
      var sum:Int = 0
      sum = a + b

      return sum
   }
}

L'attuazione del codice di cui sopra, l'output è:

$ scalac Test.scala 
$ scala Test
Returned Value : 12

Scala è un linguaggio funzionale, per cui la funzione è il nucleo del linguaggio Scala. Qui ci sono alcuni concetto di funzione aiuterà a capire meglio la programmazione Scala:

Caso collegamento concetto funzione analitica
Funzione per nome chiamata (Call-by-Name) Specifica il nome degli argomenti della funzione
Funzione - parametro variabile funzione ricorsiva
I valori dei parametri di default funzioni di ordine superiore
funzioni nidificate funzione anonima
applicazione funzione parziale funzione di curry (Currying Funzione)