2017-01-29 1 views
1

IM versuchen, die unten genannten Funktionen höherer Ordnung in Scala zu verstehen, benötigen jedoch einige Erläuterungen zu den Parametern der Funktionen.Hochrangige Funktionen in Scala

Fragen: -

  1. Was bedeutet die Int => String in der apply Funktion bedeuten? v: Int zeigt an, dass der Parameter v vom Typ Int ist.
  2. Was bedeutet die in layout Funktion?

    object Demo { 
        def main(args: Array[String]) { 
        println(apply(layout, 10)) 
        } 
    
        def apply(f: Int => String, v: Int) = f(v) 
    
        def layout[A](x: A) = "[" + x.toString() + "]" 
    } 
    

Antwort

10

f: Int => String bedeutet, dass f eine Funktion mit einem Argument vom Typ Int und mit einer Rückgabetyp String

def layout[A](x: A) bedeutet, dass Parameter x vom Typ A, die von jeder Art sein kann. Hier sind ein paar Beispiele, wie das Layout aufzurufen:

layout[String]("abc") //returns "[abc]" 
layout[Int](123) //returns "[123]" 

Wenn main läuft es ruft apply mit der layout Funktion und das Argument 10. Dieser Wille Ausgang "[10]"

Verwandte Themen