码迷,mamicode.com
首页 > 其他好文 > 详细

Scala第二章学习笔记

时间:2015-11-02 15:40:31      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:

最基本的练习~:

技术分享

 

使用伴生对象:

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 _ = >"....."
}

未完~上班了~。。。回去弄。。。

 

Scala第二章学习笔记

标签:

原文地址:http://www.cnblogs.com/yangsy0915/p/4929987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!