在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Scala/ scala 函數(shù) 語(yǔ)法理解

scala 函數(shù) 語(yǔ)法理解


override def generateJob(time: Time): Option[Job] = {
    parent.getOrCompute(time) match {
      case Some(rdd) =>
        val jobFunc = () => createRDDWithLocalProperties(time, displayInnerRDDOps) {
          foreachFunc(rdd, time)
        }
        Some(new Job(time, jobFunc))
      case None => None
    }
  }

val jobFunc = () => createRDDWithLocalProperties(time, displayInnerRDDOps) {
          foreachFunc(rdd, time)
        }
        
        這個(gè)代碼是啥意思?createRDDWithLocalProperties 函數(shù)執(zhí)行,為什么后面還會(huì)有一個(gè)花括號(hào)????
        
回答
編輯回答
離殤

我不知道你的上下文其他代碼是怎么樣的,但如果你僅僅只是想明白花括號(hào)是干嘛用的下面有一個(gè)例子:

val a = 1
val b = 2

val func = abstractAdd(a,b){
  addImpl
}

def abstractAdd(a: Int, b: Int)(tryDo: (Int, Int) => Int): Int = {
  tryDo(a, b)
}

def addImpl(a: Int, b: Int): Int = a + b

我們有個(gè)不知道這么做加法的運(yùn)算 abstractAdd,除了要傳入要進(jìn)行加法的 ab,還需要傳入一個(gè)真正實(shí)現(xiàn)加法的函數(shù)。func 就實(shí)現(xiàn)完整實(shí)現(xiàn)了加法運(yùn)算了。

涉及知識(shí)點(diǎn):柯里化、高階函數(shù)

2018年7月1日 21:44
編輯回答
陌璃
這是一個(gè)函數(shù)啊.  createRDDWithLocalProperties是函數(shù)名
createRDDWithLocalProperties(time, displayInnerRDDOps) {
          foreachFunc(rdd, time)
        }
        
2017年6月10日 12:52