配列のメソッド
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]
...チートシート
配列には、ドット記法でアクセスできる組み込みメソッドがあります:
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);
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。