std::fmt
このモジュールで format! の書式が実装されている(という意味だと思う)。
format書式解説
Module std::fmtに書かれている。
Positional parameters
どの引数を参照するか、0からの連番で指定できる。
指定しない場合は「次の引数」になる。
format!("{1} {} {0} {}", 1, 2); // => "2 1 1 2"
Named parameters
Examples:
format!("{argument}", argument = "test"); // => "test"
format!("{name} {}", 1, name = 2); // => "2 1"
format!("{a} {c} {b}", a="a", b='b', c=3); // => "a 3 b"
まだたくさんあるが、出くわしたら追記していく。
Debug (Trait)
?
formatting
プログラマーに役立つ出力を行う。
一般に、単に derive
して使えばいい。#?
という書式指定と共に使われると、見やすく出力される。
Examples:
#[derive(Debug)]
struct Point {
x: i32,
y: i32,
}
let origin = Point { x: 0, y: 0 };
assert_eq!(format!("The origin is: {:?}", origin), "The origin is: Point { x: 0, y: 0 }");
Display (Trait)
Format trait for an empty format,
{}
.
Debugに似ているが、ユーザー向けの出力をする。 derive
不可。
Examples:
use std::fmt;
struct Point {
x: i32,
y: i32,
}
impl fmt::Display for Point {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "({}, {})", self.x, self.y)
}
}
let origin = Point { x: 0, y: 0 };
assert_eq!(format!("The origin is: {}", origin), "The origin is: (0, 0)");
fmt (Required Method)
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
値を与えられたフォーマッタでフォーマットする。
最終更新 2020-06-03: [program] Omit "lang/" subsection (a39ae753e)