GroovyはJavaをベースにした強力なプログラミング言語で、簡潔で柔軟なコードが書ける特徴があります。
その中でも、upto()メソッドは、繰り返し処理を簡単に書くための非常に便利なツールです。本記事では、upto()メソッドの基本から応用まで、具体的なコード例とともに解説していきます。
1. upto()メソッドとは?
upto()メソッドは、数値の範囲を順次処理するためのメソッドです。指定した開始値から終了値までの範囲を1ずつインクリメントしながら繰り返し処理を行います。
基本構文
start.upto(end) { closure }
start: 繰り返しを開始する数値。
end: 繰り返しを終了する数値。
closure: 各イテレーションで実行する処理を記述したブロック。
2. 基本的な使用例
まずはシンプルな例から見ていきましょう。
例1: 数値の出力
1.upto(5) { println it }
出力結果:
1
2
3
4
5
1.upto(5) は、1から5までの数値を順に繰り返し、it はクロージャのデフォルト変数で、現在のイテレーションの値を表します。
3. 応用例1: 配列やリストの操作
upto()メソッドは、リストや配列の操作にも活用できます。
例2: 配列の要素を順に処理
def fruits = ["apple", "banana", "cherry", "date", "elderberry"]
0.upto(fruits.size() - 1) {
println "Index: $it, Fruit: ${fruits[it]}"
}
出力結果:
Index: 0, Fruit: apple
Index: 1, Fruit: banana
Index: 2, Fruit: cherry
Index: 3, Fruit: date
Index: 4, Fruit: elderberry
fruits.size() - 1 は配列の最後のインデックスを表し、現在のインデックス (it) を利用して要素を取得します。
4. 応用例2: 特定条件で処理をカスタマイズ
upto()メソッドは、条件付きの処理にも便利です。
例3: 偶数のみを処理
1.upto(10) {
if (it % 2 == 0) {
println "$it is even"
}
}
出力結果:
2 is even
4 is even
6 is even
8 is even
10 is even
5. 応用例3: 入れ子構造のループ
upto()メソッドをネストして使うことで、多重ループを簡潔に記述できます。
例4: 乗算表を生成
1.upto(3) { i ->
1.upto(3) { j ->
print "${i * j}\t"
}
println()
}
出力結果:
1 2 3
2 4 6
3 6 9
外側のupto()で行 (i) を制御し、内側のupto()で列 (j) を制御します。
タブ文字 (\t) を使って整列。
8. まとめ
Groovyのupto()メソッドは、簡潔な構文で範囲処理を可能にする便利なツールです。
今回紹介した基本的な使い方から応用例までを押さえることで、以下のような場面で効率的に活用できます。
- シンプルな繰り返し処理
- 配列やリストの操作
- 条件付き処理や多重ループ
- データベース操作や非同期処理
upto()を使いこなせば、コードの可読性と生産性が格段に向上するので、覚えておいて損はありません。


コメントを残す