2018年01月03日

Kotlinで関数オブジェクトを使ってみた

Kotlinスタートブック -新しいAndroidプログラミング

新品価格
¥3,780から
(2018/1/3 17:44時点)



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
posted by マスタカ at 18:07 | Comment(0) | プログラミング | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。