Range ガイド
CoddyのRustジャーニー「Fundamentals」セクションの一部 — レッスン 65/75。
このレッスンでは、rangeの仕組みについてさらに詳しく学んでいきます。
基本的な範囲の構文:
start..end- startからendまでの範囲を作成します(終端を含まない)start..=end- startからendまでの範囲を作成します(終端を含む)
..end- 0からendまでの範囲(終端を含まない)を作成します..=end- 0からendまでの範囲(終端を含む)を作成します
start..- startから無限大までの範囲を作成します..- 負の無限大から正の無限大までの範囲を作成します
.rev() を使用した逆順の範囲:
(0..5).rev()- 4, 3, 2, 1, 0(0..=5).rev()- 5, 4, 3, 2, 1, 0
.step_by(n) を使用したステップ実行:
(0..10).step_by(2)- 0, 2, 4, 6, 8(0..10).rev().step_by(2)- 9, 7, 5, 3, 1
例えば:
// 基本的な正方向の範囲
for i in 0..5 { }
// 値: 0, 1, 2, 3, 4// 終端を含む範囲
for i in 0..=5 { }
// 値: 0, 1, 2, 3, 4, 5// 逆順の範囲
for i in (0..5).rev() { }
// 値: 4, 3, 2, 1, 0// 2ずつステップ
for i in (0..10).step_by(2) { }
// 値: 0, 2, 4, 6, 8// 逆順とステップを組み合わせる
for i in (0..10).rev().step_by(3) { }
// 値: 9, 6, 3, 0チャレンジ
簡単2つの数値配列から始まり、1つ目の配列については要素を逆順に3つ飛ばしですべて出力し、2つ目の配列については4で割り切れるすべての数値を逆順に出力するプログラムを作成してください。 次の形式で出力してください:
Array 1: [1], [2], [3], ...
Array 2: [1], [2], [3], ...チートシート
Rustにおける範囲(Range)構文:
start..end- startからendまで(endを含まない)の範囲を作成しますstart..=end- startからendまで(endを含む)の範囲を作成します..end- 0からendまで(endを含まない)の範囲を作成します..=end- 0からendまで(endを含む)の範囲を作成しますstart..- startから無限大までの範囲を作成します..- 負の無限大から正の無限大までの範囲を作成します
.rev()を使用した逆順の範囲:
(0..5).rev()- 4, 3, 2, 1, 0(0..=5).rev()- 5, 4, 3, 2, 1, 0
.step_by(n)を使用したステップ実行:
(0..10).step_by(2)- 0, 2, 4, 6, 8(0..10).rev().step_by(2)- 9, 7, 5, 3, 1
// 基本的な正順の範囲
for i in 0..5 { }
// 値: 0, 1, 2, 3, 4
// 終端を含む範囲
for i in 0..=5 { }
// 値: 0, 1, 2, 3, 4, 5
// 逆順の範囲
for i in (0..5).rev() { }
// 値: 4, 3, 2, 1, 0
// 2ステップ刻み
for i in (0..10).step_by(2) { }
// 値: 0, 2, 4, 6, 8
// 逆順とステップの組み合わせ
for i in (0..10).rev().step_by(3) { }
// 値: 9, 6, 3, 0自分で試してみよう
fn main() {
let numbers1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26];
let numbers2 = [17, 53, 24, 77, 84, 98, 24, 36, 89, 31, 36];
print!("Array 1: ");
// ここにコードを記述してください
println!();
print!("Array 2: ");
// ここにコードを記述してください
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。