pub trait Octal { fn fmt(&self, &mut Formatter) -> Result<(), Error>; }
Format trait for the o
character.
The Octal
trait should format its output as a number in base-8.
The alternate flag, #
, adds a 0o
in front of the output.
For more information on formatters, see the module-level documentation.
Basic usage with i32
:
let x = 42; // 42 is '52' in octal assert_eq!(format!("{:o}", x), "52"); assert_eq!(format!("{:#o}", x), "0o52");
Implementing Octal
on a type:
use std::fmt; struct Length(i32); impl fmt::Octal for Length { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let val = self.0; write!(f, "{:o}", val) // delegate to i32's implementation } } let l = Length(9); println!("l as octal is: {:o}", l);
impl<T> Octal for Wrapping<T> where T: Octal
impl Octal for isize
impl Octal for usize
impl Octal for i8
impl Octal for u8
impl Octal for i16
impl Octal for u16
impl Octal for i32
impl Octal for u32
impl Octal for i64
impl Octal for u64
impl Octal for i128
impl Octal for u128
impl<'a, T> Octal for &'a T where T: Octal + ?Sized
impl<'a, T> Octal for &'a mut T where T: Octal + ?Sized
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/fmt/trait.Octal.html