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 (関連項目)