![]() | Kotlinスタートブック -新しいAndroidプログラミング 新品価格 |

Kotlinだと関数オブジェクトを
関数の引数に渡せるようなのでやってみた
・関数オブジェクト
::で関数オブジェクトが取れる
・it
引数が一つならitで参照できる
・ラムダ
valで変数にして関数突っ込める。
引数+関数オブジェクトは(){}で渡せる
・コード
以下のコードで、2倍して1足す
だから結果が11になる
fun test(num: Int, wrap: (Int) -> Int): Int {
val n: Int = num * 2;
return wrap(n);
}
fun main(args: Array<String>) {
fun pass(count: Int): Int = count + 1;
println("pass:"+test(5, ::pass))
//ラムダ
val pass1 = { i : Int -> i+1}
println("pass1:"+test(5, pass1))
//引数が一つの時はitが使える
val pass2: (Int) -> Int = {it+1}
println("pass2:"+test(5, pass2));
//{}を使うとラムダ
println("pass3:"+test(5){it + 1});
//無名関数
val pass4: (Int) -> Int = fun(i:Int) :Int {
return i+1;
}
println("pass4:"+test(5, pass4));
val pass5: (Int) -> Int = fun(i:Int) :Int = i+1;
println("pass5:"+test(5, pass5));
}
タグ:Kotlin