看板 java 關於我們 聯絡資訊
Hi: 我試著用Scala寫一個,你看看和你要的相不相同... // 先定一個 test_callback,傳入值為 Unit // 效果為印出 before callback,執行 callback,印出 after callback def test_callback(callback: => Unit) { println("before callback") callback println("after callback") } // callback 為 印出 x ,所以會看到 before callback, x, after callback 三行 test_callback(println("x")) // 試試複雜一點的,在中間插入印出 1 到 10 test_callback { 1.to(10).foreach(println(_)) } // 定義一個 class 有兩個函數 x1 是不帶參數的 x2 有帶一個字串 class A { def x1(): Unit = println("x1") def x2(s: String): Unit = println("x2" + s) } // 抽出 A 的 x 函式 val f1: Function[A, Unit] = _.x1() val f2: Function2[A, String, Unit] = _.x2(_) // 因為它函式不是 static 要有一個實體 val a = new A() // 測試...這行也可以直接寫 test_callback(a.f1()) test_callback(f1(a)) // 同上這行也可以直接寫 test_callback(a.f2("000")) test_callback(f2(a, "000")) Java 8 其實我沒有研究很深,但是 Scala 的 callback 感覺還蠻好寫的... 習慣之後反而會不習慣寫 Java :QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.147.194
liu2007:剛剛去看了一下版上和辜狗的介紹,scala還滿有趣的XDD 10/15 16:25
Schelfaniel:如果有Scala問題可以互相討論唷 ^o^ 10/16 13:31