パラメーターと引数
CoddyのRustジャーニー「Fundamentals」セクションの一部 — レッスン 50/75。
関数における引数(ひきすう)とは、関数を呼び出す際に関数に渡す値のことです。関数に引数を追加するには、括弧 () の中に記述します:
fn function_name(arg1: data_type, arg2: data_type, ...) {
// コード
}引数には好きな名前を付けることができ、必要な数だけ記述することができます。
関数を呼び出して引数を渡すには、次のように記述します:
function_name(value1, value2, value3, ...);期待される引数の数よりも多くの引数を関数に渡すと、プログラムが失敗する原因になります。
使用例:
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
for i in 15..34 {
is_even(i);
}
for i in 153..219 {
is_even(i);
}ここに、numberという名前の引数を1つ受け取り、その数値が偶数か奇数かを表示するis_evenという名前の関数があります。次に、この関数を2回呼び出します。1回目は15から34までのすべての数値に対して、2回目は153から219までのすべての数値に対してです。
チャレンジ
簡単2つの入力数値を取得するプログラムを作成してください。入力された数値は関数の引数となります。
2つの引数を受け取り、それらの積を計算して出力する関数を作成してください。関数の名前は自由に決めて構いません。
入力された数値を使用して、その関数を呼び出してください。
注意!コード内では、関数を呼び出し/実行文よりも前に記述してください。
チートシート
関数に引数を追加するには、データ型と一緒に括弧の中に記述します:
fn function_name(arg1: data_type, arg2: data_type) {
// コード
}引数として値を渡して関数を呼び出します:
function_name(value1, value2);1つの引数を持つ例:
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
is_even(42);関数に渡す引数が多すぎると、プログラムは失敗します
自分で試してみよう
use std::io;
// 関数の宣言
fn main() {
let mut input_a = String::new();
let mut input_b = String::new();
io::stdin().read_line(&mut input_a).unwrap();
io::stdin().read_line(&mut input_b).unwrap();
let a: i32 = input_a.trim().parse().unwrap();
let b: i32 = input_b.trim().parse().unwrap();
// aとbを引数として関数を呼び出す
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。