pushによる要素の追加
CoddyのRustジャーニー「Logic & Flow」セクションの一部 — レッスン 9/66。
ベクタを作成したら、新しい要素を追加したくなることがよくあります。Rustは、ベクタの末尾に要素を追加するための .push() メソッドを提供しています。これは、ベクタに対して行う最も一般的な操作の一つです。
.push() の使い方は次のとおりです:
let mut numbers = Vec::new();
numbers.push(10);
numbers.push(20);
numbers.push(30);mutキーワードに注目してください。これは非常に重要です!要素を追加するとベクタの内容が変更されるため、ベクタは可変(mutable)として宣言する必要があります。mutがないと、Rustはそのベクタを変更することを許可しません。
.push() メソッドは、常に新しい要素をベクタの末尾に追加します。.push() を呼び出すたびに、ベクタの長さが1ずつ増加します:
let mut fruits = Vec::new();
fruits.push("apple");
fruits.push("banana");
// fruits は現在 ["apple", "banana"] を含んでいますすでに要素を持っているベクタから開始し、そこに要素を追加し続けることもできます:
let mut scores = vec![85, 92];
scores.push(78); // scoresは現在 [85, 92, 78] ですチャレンジ
簡単入力として3つの数値を、それぞれ別の行で受け取ります。これらの数値を読み取り、整数に変換して、.push() メソッドを使用してベクタに追加してください。3つの数値をすべて追加した後、ベクタの各要素をそれぞれ別の行に出力してください。
要件:
- 空の可変(mutable)ベクタを作成する
- 入力から3つの数値を読み取り、それぞれを整数に変換する
.push()を使用して各数値をベクタに追加する- ベクタの各要素をそれぞれ別の行に出力する
入力: 3つの整数、それぞれ別の行
出力: ベクタの各要素をそれぞれ別の行に出力
チートシート
ベクタに要素を追加するには、.push() メソッドを使用します。ベクタは mut キーワードを使用して可変として宣言されている必要があります:
let mut numbers = Vec::new();
numbers.push(10);
numbers.push(20);
numbers.push(30);.push() メソッドは、ベクタの末尾に要素を追加し、呼び出しごとにその長さを1増やします。
すでに値が含まれているベクタに要素を追加することもできます:
let mut scores = vec![85, 92];
scores.push(78); // scores は [85, 92, 78] になります自分で試してみよう
use std::io;
fn main() {
// 入力から3つの数値を読み込む
let mut input1 = String::new();
io::stdin().read_line(&mut input1).expect("Failed to read line");
let num1: i32 = input1.trim().parse().expect("Invalid input");
let mut input2 = String::new();
io::stdin().read_line(&mut input2).expect("Failed to read line");
let num2: i32 = input2.trim().parse().expect("Invalid input");
let mut input3 = String::new();
io::stdin().read_line(&mut input3).expect("Failed to read line");
let num3: i32 = input3.trim().parse().expect("Invalid input");
// TODO: 以下にコードを記述してください
// 可変ベクタを作成し、数値をそこに追加する
// ベクタの各要素を個別の行に出力する
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。