A Function Literal is a function which do not have Name(#74)
val greetings=Seq("hello", "world") greetings.foreach(x => println(x)) /*If the argument of the Functional Literal is specified an explicity type, then in should be wrapped in Parantheses #75*/ greetings.foreach(x:String=> println(x)) greetings.foreach((x:String)=> println(x)) /*If a function literal takes only 1 statement and the statements only takes one argument, then we can omit the argument #75 */ greetings.foreach(println)
scala> val greetings=Seq("hello", "world") greetings: Seq[String] = List(hello, world) //Here x => println(x) is a Function that //do not have Name scala> greetings.foreach(x => println(x)) hello world scala> scala> /*If the argument of the Functional Literal is specified an explicit | type, then it should be wrapped in Parantheses #75*/ | greetings.foreach(x:String=> println(x)) <console>:3: error: ')' expected but '(' found. greetings.foreach(x:String=> println(x)) ^ <console>:3: error: ';' expected but ')' found. greetings.foreach(x:String=> println(x)) ^ scala> greetings.foreach((x:String)=> println(x)) hello world scala> scala> /*If a function literal takes only 1 statement | and the statements only takes one argument, | then we can omit the argument #75 */ | greetings.foreach(println) hello world