scala 學習(十六)——閉包和柯裡化__scala

來源:互聯網
上載者:User
scala 學習(十六)——閉包和柯裡化 下面是閉包和柯裡化的例子程式:
//變數不在範圍時函數仍然可以調用object main{    def main(args:Array[String]){        //閉包        def mulby(factor:Double) = (x:Double) => x * factor        var a = mulby(3)        var b = mulby(0.5)        println(a(2) + b(9))        println("==========")        //currying 柯裡化        //將函數中的兩個函數變為一個函數,並且把原來函數的第二個參數當做參數        def add(a:Int) = (b:Int) => a+b        var temp = add(1)(2)        println(temp)        println("==========")        //簡單定義柯裡化        def addnew(a:Int)(b:Int) = a+b        var cc = addnew(12)(22)        println(cc)        println("==========")        //柯裡化的簡單應用        def trimul(a:Int)(b:Int)(c:Int) = a * b * c         var tries = trimul(2)(4)(5)        println(tries)            }}

運行結果:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.