配列のメソッド
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: truecontains を使用する場合、& を使用して探している値への参照を渡す必要があります。例えば:
let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// 出力: Contains 30: trueチャレンジ
簡単サイズ5の文字列の配列を引数として受け取る、analyze_arrayという名前の関数を作成してください。このメソッドは以下の操作を行う必要があります:
is_empty()メソッドを使用して配列が空かどうかを確認し、その結果を出力します。contains()メソッドを使用して、配列に文字列“5”が含まれているかを確認し、その結果を出力します。strではなくStringを使用することを忘れないでください:“5”.to_string()- 配列を反転させて出力します。
出力は以下の形式に従う必要があります:
Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...自分で試してみよう
use std::io;
use std::convert::TryInto;
fn analyze_array(arr: &mut [String; 5]) {
// ここにコードを記述してください
// 要素を1行ずつ出力します
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);
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。