scala(2)Learn CH2 Programming in Scala from others
Scala is all object
number is object, function is object. All the objects' base class is Any, AnyVal is all the valued objects' parent object consist of (int, boolean, float)
scala>1+2
scala>var f: Int =>Int = (1+)
scala>f(2)
Int=3
scala>var f: Int => Int =(3*_)
f: Int => Int =<function1>
scala>f(3) //res6:Int =9
Anonymous Function
scala> ( (para:String) => println("hello " + para) ) ("world!")
hello world!
scala> var fn = new (String => Unit) { def apply(para:String):Unit=println("hello" + para)}
fn: java.lang.Object with String => Unit = <function1>
scala> fn(" sillycat")
hello sillycat
The Object class in eclipse:
package com.sillycat.easyscala
object Love {
//args parameter name
//Array[String] parameter type
//Unit return type, equals to void
def main(args: Array[String]): Unit = {
//val is equals to final String exp
val exp: String = "Happy Valenten's Day"
val name = "Kiko"
//String v = ""
var v = exp + ", " + name
println(v)
}
}
Try to loop the function in different way:
package com.sillycat.easyscala
object Loop {
def main(args:Array[String]) : Unit = {
//loop like java
var i = 0
while (i< args.length ){
println(args(i))
i = i + 1
}
for(arg <- args)
println(arg)
args.foreach(arg => println(arg))
args.foreach(println)
}
}
references:
http://snowriver.org/blog/tag/scala/
http://fakechris.iteye.com/blog/105865
http://www.ibm.com/developerworks/cn/java/j-scala/
http://blog.youkuaiyun.com/ant_yan/article/details/7245890
Scala is all object
number is object, function is object. All the objects' base class is Any, AnyVal is all the valued objects' parent object consist of (int, boolean, float)
scala>1+2
scala>var f: Int =>Int = (1+)
scala>f(2)
Int=3
scala>var f: Int => Int =(3*_)
f: Int => Int =<function1>
scala>f(3) //res6:Int =9
Anonymous Function
scala> ( (para:String) => println("hello " + para) ) ("world!")
hello world!
scala> var fn = new (String => Unit) { def apply(para:String):Unit=println("hello" + para)}
fn: java.lang.Object with String => Unit = <function1>
scala> fn(" sillycat")
hello sillycat
The Object class in eclipse:
package com.sillycat.easyscala
object Love {
//args parameter name
//Array[String] parameter type
//Unit return type, equals to void
def main(args: Array[String]): Unit = {
//val is equals to final String exp
val exp: String = "Happy Valenten's Day"
val name = "Kiko"
//String v = ""
var v = exp + ", " + name
println(v)
}
}
Try to loop the function in different way:
package com.sillycat.easyscala
object Loop {
def main(args:Array[String]) : Unit = {
//loop like java
var i = 0
while (i< args.length ){
println(args(i))
i = i + 1
}
for(arg <- args)
println(arg)
args.foreach(arg => println(arg))
args.foreach(println)
}
}
references:
http://snowriver.org/blog/tag/scala/
http://fakechris.iteye.com/blog/105865
http://www.ibm.com/developerworks/cn/java/j-scala/
http://blog.youkuaiyun.com/ant_yan/article/details/7245890