91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

每天學一點Scala之 Currying函數

發布時間:2020-07-02 10:57:49 來源:網絡 閱讀:377 作者:故新 欄目:建站服務器

1、Curring函數 定義?

    將原來接收兩個參數的一個函數,轉換為兩個函數,第一個函數接收原先的第一個參數,然后返回接收原先第二個參數的第二個函數。

在函數調用的過程中,就變為了兩個函數連續調用的形式

在marathon源碼以及Spark的源碼中,也有體現,所以對()()這種形式的Curring函數,要理解。

2、例子:

object CurryingTest {
   def main(args: Array[String]): Unit = {
      println("---->:\t" + sum(3,4))
      println("---->:\t" + sum2(5))
      println("---->:\t" + sum2(5)(1))
      // 柯里函數
      println("---->:\t" + sum3(4)(8))
   }
   def sum(a: Int, b: Int) = a + b
   def sum2(a: Int) = (b: Int) => a + b  // 由sum函數轉換成sum3函數時的中間過程
   def sum3(a: Int)(b: Int) = a + b
}



其實,柯里函數到底用在什么場景下,并沒有真正理解。

目前,僅僅是,只要看到

sum3(a: Int)(b: Int) = a + b

這種形式,可以直接理解成 或者等價于 

sum(a: Int, b: Int) = a + b

形式




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

花莲市| 泊头市| 同心县| 博罗县| 弥渡县| 义乌市| 白水县| 青河县| 含山县| 广州市| 府谷县| 介休市| 涿州市| 镇坪县| 新营市| 江津市| 太原市| 左权县| 富源县| 南汇区| 沙雅县| 连州市| 宁德市| 萨嘎县| 日照市| 祁连县| 潮安县| 茂名市| 尚志市| 株洲市| 甘洛县| 桃园市| 临猗县| 宣恩县| 梓潼县| 黎城县| 邢台县| 丰原市| 合作市| 德钦县| 乐至县|