scala> //# 188 scala> def total(math: Int, history:Int, science: Int) = { | math + history + science | } total: (math: Int, history: Int, science: Int)Int scala> scala> //Example 1 : Two Argument applied scala> val twoArgApplied = total(50, 70, _:Int) twoArgApplied: Int => Int = <function1> scala> twoArgApplied(60) res6: Int = 180 scala> scala> //Example 2 : One Argument applied scala> //A partiall applied function assigned to function literal scala> val oneArgApplied = total(50, _: Int, _:Int) oneArgApplied: (Int, Int) => Int = <function2> scala> oneArgApplied(30, 40) res7: Int = 120 scala> scala> scala> //Example 3 : No Argument applied scala> val noArgApplied = total _ noArgApplied: (Int, Int, Int) => Int = <function3> scala> noArgApplied(40, 50, 60) res8: Int = 150 scala> scala> //Example 4 : Another example where no argument is applied scala> //Note this 'println _' is different from the placeholder scala> //syntax 'println(_) scala> val input = List(10, 20, 30) input: List[Int] = List(10, 20, 30) scala> input.foreach(println _) 10 20 30 scala> //A shortcut for the previous example scala> input.foreach(println) 10 20 30