配列のメソッド
CoddyのRustジャーニー「基礎」セクションの一部。レッスン 61/75。
配列には多くのメソッド(機能)が備わっています。メソッドにアクセスするには、次のように記述します。
array.methodName(otherParameters)基本的なメソッドの一覧です。
len()- 配列内の要素数を返しますcontains(value)- 配列に特定の値が含まれているかを確認します
is_empty()- 配列が空かどうかを確認しますreverse()- 配列を逆順にします
例:
let mut 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);
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rustオンラインコンパイラ