Menu
Coddy logo textTech

配列のメソッド

CoddyのRustジャーニー「Fundamentals」セクションの一部 — レッスン 61/75。

配列には多くのメソッド(機能)が備わっています。メソッドにアクセスするには、次のように記述します:

array.methodName(otherParameters)

以下は基本的なメソッドのリストです:

  • len() - 配列内の要素の数を返します
  • contains(value) - 配列に特定の値が含まれているかを確認します
  • is_empty() - 配列が空かどうかを確認します
  • reverse() - 配列を反転させます

例えば:

let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
println!("Length: {}", length);

numbers.reverse()
// [50, 40, 30, 20, 10]

is_empty() メソッドの例:

let numbers: [i32; 0] = [];
let empty = numbers.is_empty();
println!("Is empty: {}", empty);

次のように出力されます:

Is empty: true

contains を使用する場合、探している値への参照を & を使って渡す必要があります。例えば:

let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// 出力: Contains 30: true
challenge icon

チャレンジ

簡単

サイズ5の文字列の配列を引数として受け取る、analyze_arrayという名前の関数を作成してください。このメソッドは以下の操作を実行する必要があります。

  1. is_empty()メソッドを使用して配列が空かどうかを確認し、その結果を表示します。
  2. contains()メソッドを使用して配列に文字列"5"が含まれているかを確認し、その結果を表示します。strではなくStringを使用することを忘れないでください:"5".to_string()
  3. 配列を反転させて表示します。

出力は以下の形式に従う必要があります:

Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...

チートシート

配列には、ドット記法でアクセスできる組み込みメソッドがあります:

array.methodName(otherParameters)

基本的な配列メソッド:

  • len() - 要素の数を返します
  • contains(value) - 配列に特定の値が含まれているかを確認します
  • is_empty() - 配列が空かどうかを確認します
  • reverse() - 配列を反転させます

例:

let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
let has_thirty = numbers.contains(&30);
let empty = numbers.is_empty();
numbers.reverse(); // [50, 40, 30, 20, 10]

注意:contains()& を使用した値への参照を必要とします。

自分で試してみよう

use std::io;
use std::convert::TryInto;

fn analyze_array(arr: &mut [String; 5]) {
    // ここにコードを記述してください




    // 要素を一行ずつ表示します
    for element in arr.iter() {
        println!("{}", element);
    }
}

fn main() {
    let mut input_str_arr = String::new();
    io::stdin().read_line(&mut input_str_arr).unwrap();
    let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
    analyze_array(&mut arr);
}
quiz icon腕試し

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

Fundamentalsのすべてのレッスン