成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Scala閉包怎么自定義

本篇內(nèi)容主要講解“Scala閉包怎么自定義”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Scala閉包怎么自定義”吧!

超過十載行業(yè)經(jīng)驗,技術領先,服務至上的經(jīng)營模式,全靠網(wǎng)絡和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務范圍包括了:成都做網(wǎng)站、成都網(wǎng)站制作,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡托管,成都小程序開發(fā),微信開發(fā),App定制開發(fā),同時也可以讓客戶的網(wǎng)站和網(wǎng)絡營銷和我們一樣獲得訂單和生意!

閉包是一個函數(shù),返回值依賴于聲明在函數(shù)外部的一個或多個變量。

閉包通常來講可以簡單的認為是可以訪問一個函數(shù)里面局部變量的另外一個函數(shù)。

如下面這段匿名的函數(shù):

val multiplier = (i:Int) => i * 10

函數(shù)體內(nèi)有一個變量 i,它作為函數(shù)的一個參數(shù)。如下面的另一段代碼:

val multiplier = (i:Int) => i * factor

在 multiplier 中有兩個變量:i 和 factor。其中的一個 i 是函數(shù)的形式參數(shù),在 multiplier 函數(shù)被調(diào)用時,i 被賦予一個新的值。然而,factor不是形式參數(shù),而是自由變量,考慮下面代碼:

var factor = 3  
val multiplier = (i:Int) => i * factor  

這里我們引入一個自由變量 factor,這個變量定義在函數(shù)外面。

這樣定義的函數(shù)變量 multiplier 成為一個"閉包",因為它引用到函數(shù)外面定義的變量,定義這個函數(shù)的過程是將這個自由變量捕獲而構成一個封閉的函數(shù)。

完整實例

object Test {  
  def main(args: Array[String]) {  
     println( "muliplier(1) value = " +  multiplier(1) )  
     println( "muliplier(2) value = " +  multiplier(2) )  
  }  
  var factor = 3  
  val multiplier = (i:Int) => i * factor  
}  

執(zhí)行以上代碼,輸出結果為:

$ scalac Test.scala  
$  scala Test  
muliplier(1) value = 3  
muliplier(2) value = 6  

到此,相信大家對“Scala閉包怎么自定義”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

分享題目:Scala閉包怎么自定義
分享URL:http://jinyejixie.com/article10/pppdgo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)品牌網(wǎng)站制作、網(wǎng)站策劃、企業(yè)建站、App開發(fā)、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設
沛县| 深水埗区| 北京市| 常熟市| 孟津县| 台江县| 宜君县| 师宗县| 南充市| 洞口县| 太康县| 甘南县| 张家川| 岳阳县| 青冈县| 高碑店市| 巍山| 潮安县| 晋城| 西充县| 怀仁县| 扶绥县| 黎城县| 鹤山市| 商南县| 印江| 太仓市| 泉州市| 钟山县| 望谟县| 迭部县| 汾阳市| 山阴县| 宝山区| 芜湖县| 法库县| 天镇县| 布尔津县| 大荔县| 正阳县| 海兴县|