中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

每天學一點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

阳西县| 常德市| 周至县| 白玉县| 平阴县| 桐城市| 游戏| 东丽区| 蓬安县| 河西区| 雅江县| 榆树市| 崇礼县| 通山县| 财经| 德兴市| 理塘县| 碌曲县| 山西省| 清涧县| 巨野县| 朝阳区| 天镇县| 准格尔旗| 莲花县| 柳河县| 镇沅| 阿坝县| 临海市| 象山县| 邮箱| 洞口县| 台安县| 温泉县| 电白县| 十堰市| 岫岩| 江津市| 天祝| 庆城县| 高密市|