最基本的练习~:
使用伴生对象:
object holder{ class Foo{ private var x = 5} object Foo{def im_in_yr_foo(f: Foo) = f.x} } import holder.Foo val x = new Foo Foo.im_in_yr_foo(x)
基本的会话: Scala的if块是个表达式。在Java中,达到类似的目的就是这种代码: String x = true ? "true string" : "false string" Scala中没有?:的语法
if(true) 5 else "hello"if(false) 5 else "hello"
方法和模式匹配
在JAVA编程时,有个常用的实践是每个方法只有一个返回点。每个方法的最后一行都会是个retrun语句。
def createErrorMessage(errorCode : Int):String = { var result : String = _ errorCode match { case 1 => result = "Network Failure" case 2 => result = "..." case 3 m=> result = "..." } return result; }
使用模式匹配提供的面向表达式语法改进代码: (result改为了 val类型,模式匹配能够判断唯一的值和类型)
def createErrorMessage(errorCode : Int):String = { val result = errorCode matchj{ case 1 => "NewWork Failure" case 2 =>"..." case 3 =>"..." } return result }
最终改进结果 模式匹配是这个方法唯一一个语句,而它返回个字符串类型的表达式- -
def createErrorMessage(errorCode : Int) : String = errorCode match{ case 1 => "NewWork Failuer: case 2 = > "....." case _ = >"....." }
未完~上班了~。。。回去弄。。。
时间: 2024-09-27 04:38:27