関数型
CoddyのKotlinジャーニー「ロジックとフロー」セクションの一部。レッスン 27/63。
関数型は、括弧内に引数の型を記述し、その後に->と結果の型を続けて表します。たとえば、(Int) -> Booleanは整数を受け取り、Booleanを返します。型がわかっている場合、1つのパラメーターを持つラムダは、その引数をitとして参照できます。
main内:
val isEven: (Int) -> Boolean = { it % 2 == 0 }
println(isEven(6))この関数値は、2で割った余りが0かどうかを判定します。
関数型は入力と結果を指定し、暗黙のラムダパラメータ1つに利用できます。
チャレンジ
中級パラメータ value: Int を使用して checkPositive を完成させてください。入力が厳密に正の値かどうかを判定するラムダを持つ、型 (Int) -> Boolean の変数 check を宣言してください。check(value) を返してください。
上記でより厳しい範囲が指定されていない限り、コレクションは各階層で最大 100 個の要素を含み、整数の引数および整数コレクションの値は -1000 から 1000 の範囲です。解析対象のテキストには、説明されているように無効な表現や範囲外の表現が含まれる場合があります。
型 Boolean の値を返してください。提供されている入力/出力コードはそのまま使用してください。スカラー引数は 1 行に 1 つずつ読み取られます。リストは個数の後に要素が続く形式で始まり、マップはエントリ数の後に各キーと値が続く形式で始まります。ネストされたリストでは、各行について個数と要素の形式を繰り返します。提供されている main は、戻り値の後に改行を 1 つ出力します。リストには Kotlin 標準の角括弧形式を使用し、追加のラベルは出力しないでください。
自分で試してみよう
fun checkPositive(value: Int): Boolean {
// ここに解答を書いてください。
return false
}
fun main() {
val value = readln().toInt()
println(checkPositive(value))
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: Kotlinプレイグラウンド