Bonjour à tous !
Je me mets tout doucement au Scala (et par la même occasion à la programmation fonctionnelle), et j'ai un problème de compréhension au niveau de ce code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
package highOrderFunction
object Test
{
def main(args : Array[String]) : Unit = {
println(apply(layout, 10))
}
/**
* @param f fonction qui ?
* @param v un type int
* @return la fonction f appliquée à la valeur v.
*/
def apply(f: Int=>String, v: Int) = f(v)
def layout[A](x: A) : String = {
"[" +x.toString() + "]"
}
} |
Je ne comprend pas ce qui signifie le morceaux :
def apply(f: Int=>String, v: Int) = f(v)
Ni ce que signifie :
def layout[A](x: A) : String = {
Ce que je pense avoir compris :
La fonction apply prend en paramètre une fonction f et une valeur v.
Elle applique ensuite la fonction à la valeur.
Mais je ne comprends pas bien la syntaxe des éléments mis en gras.
Quelqu'un pourrait-il m'expliquer ?
Merci d'avance les amis
Partager