现在的位置: 首页 > 综合 > 正文

scala 定义类似 if 的函数

2012年02月21日 ⁄ 综合 ⁄ 共 408字 ⁄ 字号 评论关闭
//一般定义一个函数可以用以下方式来定义
def myIf(bo:Boolean,fn:(String)=>Unit) = {
    if(bo)
       fun("true")
} 
//调用
myIf(true,it=> println(it))

//在scala有传名参数的概念定义如下
def myIf(bo:Boolean) = (fn:(String)=>Unit) => {
    if(bo)
        fn("true")
}
//传名参数的使用方式 第一种 val first = myIf(true)  first(println _) 第二种 myIf(true)(println _)
//在scala里在只有一个参数时可以使用()也可以使用{} 所以可以使用myIf{}{} myIf()() 或者更像if语句的 myIf(){}

myIf(true){value=>
    println(value)
}

因为我也是最近才接触scala语言 这里只说明一下使用方式 因自己理解的也不是很好 不敢说太深怕误导别人

抱歉!评论已关闭.