Menu
Coddy logo textTech

Range ガイド

CoddyのRustジャーニー「基礎」セクションの一部。レッスン 65/75。

このレッスンでは、range の動作についてさらに詳しく見ていきます。

Basic 構文の範囲:

  • 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
// reverse と step を組み合わせる
for i in (0..10).rev().step_by(3) { }
// 値: 9, 6, 3, 0
challenge icon

チャレンジ

簡単

2つの数値配列から始まり、最初の配列については配列の位置を3つずつ飛ばしながらすべての数値を逆順に、2つ目の配列については4で割り切れるすべての数値を逆順に出力するプログラムを作成してください。  次の形式で出力してください:

Array 1: [1], [2], [3], ...
Array 2: [1], [2], [3], ...

自分で試してみよう

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: ");
    // ここにコードを書いてください
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Rustオンラインコンパイラ