はじめに
この実験では、Rust の use 宣言を調べます。これにより、より簡単なアクセスのために完全修飾名を新しい名前にバインドでき、as キーワードとともに使用して、インポートを別の名前にバインドできます。サンプルコード スニペットでは、ネストされたパス内の関数やモジュールへのアクセスを簡略化するために use 宣言をどのように使用するかを示します。
注: 実験でファイル名が指定されていない場合は、好きなファイル名を使用できます。たとえば、
main.rsを使用して、rustc main.rs &&./mainでコンパイルして実行できます。
use宣言
use宣言は、より簡単なアクセスのために、完全修飾名を新しい名前にバインドするために使用できます。よくこのように使われます。
use crate::deeply::nested::{
my_first_function,
my_second_function,
AndATraitType
};
fn main() {
my_first_function();
}
asキーワードを使って、インポートを別の名前にバインドすることもできます。
// `deeply::nested::function` パスを `other_function` にバインドします。
use deeply::nested::function as other_function;
fn function() {
println!("called `function()`");
}
mod deeply {
pub mod nested {
pub fn function() {
println!("called `deeply::nested::function()`");
}
}
}
fn main() {
// `deeply::nested::function` へのアクセスを簡単にします
other_function();
println!("Entering block");
{
// これは`use deeply::nested::function as function`と同等です。
// この `function()` は外側のものを上書きします。
use crate::deeply::nested::function;
// `use` のバインドはローカルスコープを持ちます。この場合、
// `function()` の上書きはこのブロック内だけです。
function();
println!("Leaving block");
}
function();
}
まとめ
おめでとうございます!あなたは「Use宣言」の実験を完了しました。あなたの技術を向上させるために、LabEx でさらに実験を行って練習してください。