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

一天一段scala代码(十二)

时间:2015-04-03 19:28:17      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:scala   高阶函数   闭包   

一天一段scala代码(十二)

       为了更好的驾驭spark,最近在学习scala语言特性,主要看《快学scala》,顺便把一些自己认为有用的代码记下来。

package examples

object Example12 extends App{
  
def mulBy1(factor:Double)=(x:Double)=>factor*x

def mulBy2(factor:Double)(x:Double)=factor*x


val triple = mulBy1(3)
println(triple(8))

println(mulBy1(3)(8))
println(mulBy2(3)(8))



def myUntil1(myCondition: =>Boolean)(myBlock: =>Unit)
{
  if(!myCondition)
  {
    myBlock
    myUntil1(myCondition)(myBlock)
  }
}

var x=10
myUntil1(x==0)
{
  x-=1
  println(x)
}



def myUntil2(myCondition: =>Boolean)(myBlock: ()=>Unit)
{
  if(!myCondition)
  {
    myBlock()
    myUntil2(myCondition)(myBlock)
  }
}

x=10
myUntil2(x==0){()=>
  x-=1
  println(x)
}

val add : Int => Int =>Int = x => y => x + y 
println(add(1)(2))

val add2:(Int) =>( Int =>Int )= (x) => (y => x + y) 
println(add2(1)(2))


}

本文作者:linger

一天一段scala代码(十二)

标签:scala   高阶函数   闭包   

原文地址:http://blog.csdn.net/lingerlanlan/article/details/44858225

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