スキップしてメイン コンテンツに移動

投稿

11月, 2017の投稿を表示しています

Rustで科学計算 (3) 関数を別ファイルで定義する

main.rcの中ですべての関数を定義しようとすると, 往々にしてだらだらと長くなって可読性が損なわれます. そのような場合, Rustでは別ファイルを用意してその中で関数を定義することができます (関数のモジュール化). ここではメイン関数は./src/main.rcに含まれるものとします. 関数を定義する別ファイルは./src/sample.rcとし, その中で定義された関数はmain.rc中でmod sample;とした上で sample::(関数名)と呼び出すことができます. ただしその際に./src/sample中の関数にはpub宣言が必要です. ./src/main.rcの記述mod sample; fn main() { let mut x: f64 = 1.; x = sample::times2( x ); println!("{}", x ); } ./src/sample.rcの記述pub fn times2( x: f64 ) -> f64 { 2. * x } なお, この別ファイルの名称は./src/sample/mod.rsとすることもできます. この方が別ファイルを階層的に配置できるので, 大規模なプロジェクトでは有利かもしれません. 詳細は参考文献を見てください. 参考文献クレートとモジュール - The Book