輸入について話すとき、という語句preludeは、しばしば錆びた人によって使用されます。前奏とは何ですか?
この文章はのpreludeに関するものですか?
錆のプログラムにはどのような影響がありますか?錆で
輸入について話すとき、という語句preludeは、しばしば錆びた人によって使用されます。前奏とは何ですか?
この文章はのpreludeに関するものですか?
錆のプログラムにはどのような影響がありますか?錆で
、記号を使用するためには、次のことを行う必要があり、次のいずれか
use
ディレクティブを経て現在のスコープ内のシンボルをインポートしている現在のスコープでシンボルを定義している:use std::mem;
std::mem::replace
しかしながら、いくつかの非常に少数のシンボルは、このようなアクションなしで使用することができる:
Option
またはCopy
! これはRust preludeが原因です。
多くの形質、型および機能が頻繁に使用されていると判断され、必要な記号を毎回明示的にインポートする必要がないことを意味しました。これは、コンパイラによって撮影した2つの暗黙の行動のおかげで達成されています。すべてのクレートのルートに
use std::prelude::v1::*;
(今のところ)extern crate std;
std::prelude::v1
は、よく使用されるシンボルを構文で再エクスポートする単なるモジュールです。正確な内容はhereです。 use xxx::prelude::*;
:
他のライブラリ、または標準ライブラリのも、サブコンポーネントの数はまた、あなたが同じグロブインポート構文でインポートすることがprelude
モジュールを定義します。しかし、これらはコンパイラによって特殊化されていないため、明示的にインポートする必要があります。
コンパイラは、1つの(例えば、組み込み開発で)、その後1が自分のstd::prelude::v1
モジュールに入るかを決めるだろう、独自にstd
クレートを置き換えることだったのであれば、前奏曲の正確な内容にとらわれません。
@LukasKalbertodt:ああ、私は「vec!」、「パニック!」という答えを書いていましたが、どこから来たのか分かりませんでした。私はそれを削除します。 –
[This RFC](https://github.com/rust-lang/rfcs/pull/890)では、プレリュード機能をユーザーのクレートに追加することを提案しています。それはしばらく前に閉鎖されていましたが、将来復活するかもしれません。 @MatthieuM。 –
。明確な説明をありがとう。 'println!'マクロは 'std :: prelude'から来ていないようですね。 –