Re: [問題] 將callback轉型成原本的class

看板java作者 (Schelfaniel)時間11年前 (2013/10/15 01:01), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串8/9 (看更多)
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

10/15 16:25, , 1F
剛剛去看了一下版上和辜狗的介紹,scala還滿有趣的XDD
10/15 16:25, 1F

10/16 13:31, , 2F
如果有Scala問題可以互相討論唷 ^o^
10/16 13:31, 2F
文章代碼(AID): #1IN2Da26 (java)
討論串 (同標題文章)
文章代碼(AID): #1IN2Da26 (java)