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
本文深入探讨Scala编程语言的基础概念,包括对象、函数作为对象的特性,以及匿名函数的应用。通过实例代码展示如何在Scala中创建和使用对象、函数,以及如何在不同的场景下灵活运用匿名函数。
2501

被折叠的 条评论
为什么被折叠?



