Rust:
コードを関数に整理する
方法:
たとえば、あなたが複数回に渡って円の面積を計算するコードを持っていた場合を考えましょう。式を繰り返す代わりに、関数にそれをラップします。
fn calculate_circle_area(radius: f64) -> f64 {
std::f64::consts::PI * radius.powi(2)
}
fn main() {
let radius = 5.0;
let area = calculate_circle_area(radius);
println!("The area of the circle is: {}", area);
}
出力:
The area of the circle is: 78.53981633974483
ディープダイブ
歴史的には、関数は数学から来ており、入力を出力にマッピングします。コーディングにおいては、アセンブリの日々から存在していますが、当時は「サブルーチン」と呼ばれていました。Rustの関数は、ファーストクラス関数とクロージャのおかげで、値や他の関数を返すことができます。
代替手段は?インラインコードやマクロがありますが、複雑なロジックには扱いづらいです。メソッドを持つオブジェクトも機能を整理する別の方法ですが、スタンドアロンの関数とは異なるフレーバーです。
Rustでの実装はかなり簡単です。関数はそのパラメータの型と返り値の型を宣言します。慣習により、関数名は「スネークケース」になります。モジュールの外部で使用するための公開関数(pub fn
)と、内部使用のための非公開関数があります。そして、関数の最後の式にreturn
キーワードを必要としないというRustのかっこいい機能もあります。
参考情報
さらに情報が必要な場合は、こちらをチェックしてください: