Rust:
文字列の補間
How to: (方法)
fn main() {
let name = "世界";
let greeting = format!("こんにちは、{}!", name);
println!("{}", greeting); // 出力: こんにちは、世界!
let hours = 9.5;
let work_message = format!("あと{}時間で仕事が終わります。", hours);
println!("{}", work_message); // 出力: あと9.5時間で仕事が終わります。
}
Deep Dive (深い潜水)
Rustでは、文字列補間にはformat!
マクロが使われます。これはprintln!
などと同じく内部で動作し、必要に応じて型の変換や書式設定を行います。format!
は新たなString
を生成しますが、println!
はその場で出力します。歴史的には、文字列補間は多くの言語で利用されており、RubyやPythonなどは直接変数を文字列に埋め込む文法をサポートしています。
Rustにおける文字列補間は、プレースホルダーを使い、コンパイル時に型チェックが行われるため、安全性が高いとされています。また、format!
マクロはwrite!
やwriteln!
などに似ていますが、ファイルや標準出力ではなく文字列に対して使います。
let error_code = 404;
let error_message = format!("Error: {} - Resource not found.", error_code);
// エラーメッセージは "Error: 404 - Resource not found." と評価されます。
他にも、フォーマット指定子でさらなる制御を行うことができます。例えば、小数点以下の桁数を指定したり、埋め込む変数の長さを揃えたりすることが可能です。
See Also (関連項目)
- Rust Documentation to
std::fmt
module: https://doc.rust-lang.org/std/fmt/index.html - The Rust Programming Language book - “Formatting Strings” section: https://doc.rust-lang.org/book/ch08-02-strings.html#formatting-strings
- Rust by Example - “Formatted print”: https://doc.rust-lang.org/rust-by-example/hello/print.html