Rust言語を正式に学習する前に、テキストをコマンドラインに出力する方法を学習する必要があります。これはすべての言語を学習する前にほぼ必要なスキルです。コマンドラインへの出力はほとんど言語学習段階でプログラムが結果を表現する唯一の方法であるためです。
前のHello, Worldプログラムでは、文字列の出力方法を説明したと思いますが、包括的ではありません。println!( “Hello World”) のprintlnの後に!記号があるのはなぜか疑問に思われるかもしれません。
Rustの後に感嘆符を追加する必要がありますか? 勿論、そうではありません。 printlnは関数ではなく、マクロルールです。 マクロルールは他の記事で詳しい説明するため、マクロルールが何であるかを深く掘り下げる必要はありません。この記事の学習には影響がありません。
Rustでテキストを出力する主な方法は2つあります。println!() と print!()です。この2つの「関数」は両方とも、コマンドラインに文字列を出力するためのメソッドです。唯一の違いは、前者が出力の最後に改行文字を追加することです。これらの2つの「関数」を使用してメッセージを出力する場合、最初のパラメータはフォーマット文字列であり、その後に一連の可変パラメータが続き、C言語と同じフォーマット文字列の「プレースホルダー」に対応します。これはprintf関数に似てますが、Rustのフォーマット文字列のプレースホルダーは、「%+文字」の形式ではなく、{}です。
実例
fn main() {
let a = 12;
println!("a is {}", a);
}
上記のプログラムの出力結果は次のとおりです。
a is 12
aを2回に出力したい場合には、次のように記述しなければならないでしょうか?
println!("a is {}, a again is {}", a, a);
実際には、より良い書き方があります。
println!("a is {0}, a again is {0}", a);
{}の間に数字を入れると、この後の可変パラメータに配列としてアクセスし、添え字は0から始まります。
{または}を出力したい場合はどうしますか? フォーマット文字列では、{{と}}によって{と}にエスケープされますが、他の常用のエスケープ文字はC言語のエスケープ文字と同じであり、すべてはバックスラッシュで始まります。
fn main() {
println!("{{}}");
}
上記のプログラムの出力結果は次のとおりです。
{}
コメントを残す