kotlinのメモです。
896 views
ラムダ式は、引数1個のときだいぶ強力。引数2個でも強力だけど、引数1個ではかけた記述(it)が2個では使えない点に注意。以下の16行目が該当する。
fun normal_func(num:Int) {
println("normal_func ${num}")
}
fun main(args:Array<String>) {
val list = arrayOf(1,2,3,4)
//javaっぽい書き方
list.forEach(::normal_func)
//ラムダあんまりうれしくない
list.forEach({num:Int->println(num) })
//ラムダ(省略
list.forEach {num:Int->println(num)}
//ラムダ 型も省略(一個のときだけ)
list.forEach {num->println(num)}
//引数が一個のときはitでも取れる
list.forEach { println(it) }
}
fun normal_func(num:Int) {
println("normal_func ${num}")
}
fun parentfun(callback:(name:String, num:Int)->Unit){
val name:Array<String> = arrayOf("りんご", "みかん")
val num:Array<Int> = arrayOf(100, 200)
for(i in 0..1){
callback(name[i], num[i])
}
}
fun arg2fun(name:String, num:Int) {
println("${name} ${num}")
}
fun main(args:Array<String>) {
//自作 Cとかjavaチック形式
parentfun(::arg2fun)
//ラムダうれしくない形式
parentfun({name:String, num:Int->println("${name} ${num}")})
//ラムダうれしくない形式
parentfun(){name:String, num:Int->println("${name} ${num}")}
//ラムダベスト
parentfun{name:String, num:Int->println("${name} ${num}")}
//関数でやってみた
parentfun{name:String, num:Int->arg2fun(name, num)}
}
Page 12 of 36.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/