開発環境
- macOS Mojave - Apple (OS)
- Windows 10 Pro (OS)
- IntelliJ IDEA CE(Community Edition) (IDE(統合開発環境))
- Kotlin (プログラミング言語)
Head First Kotlin: A Brain-Friendly Guide (Dawn Griffiths(著)、David Griffiths(著)、O'Reilly Media)のChapter 11(lambdas and higher-order functions - Treating Code Like Data)、WHAT'S MY TYPE?の解答を求めてみる。
コード
fun main() {
println("lambda1")
var lambda1: (Double) -> Int
// 代入できるのはない
println("lambda2")
var lambda2: (Int) -> Double
lambda2 = { it + 7.1 }
println(lambda2(10))
println("lambda3")
var lambda3: (Int) -> Int
lambda3 = { (it * 3) - 4 }
println(lambda3(10))
lambda3 = { x: Int -> x + 56 }
println(lambda3(10))
println("lambda4")
var lambda4: (Double) -> Unit
lambda4 = { it + 7.1 }
println(lambda4(1.2))
lambda4 = { (it * 3) - 4 }
println(lambda4(1.2))
lambda4 = { println("Hello!") }
println(lambda4(1.2))
lambda4 = { x: Double -> x + 75 }
println(lambda4(1.2))
println("lambda5")
var lambda5 = { x: Int -> x + 56 }
println(lambda5(10))
var lambda5_1 = { println("Hello!") }
println(lambda5_1.invoke())
var lambda5_2 = { x: Double -> x + 75 }
println(lambda5_2(1.2))
}入出力結果
lambda1 lambda2 17.1 lambda3 26 66 lambda4 kotlin.Unit kotlin.Unit Hello! kotlin.Unit kotlin.Unit lambda5 66 Hello! kotlin.Unit 76.2 Process finished with exit code 0
0 コメント:
コメントを投稿