pub trait Quote {
// Required method
fn escape(&self, f: &mut Formatter<'_>) -> Result;
// Provided method
fn quote(&self) -> Display<&Self> { ... }
}
Expand description
The trait used to quote strings.
Required Methods§
sourcefn escape(&self, f: &mut Formatter<'_>) -> Result
fn escape(&self, f: &mut Formatter<'_>) -> Result
Escapes a string using the format described in the the module-level documentation, without the surrounding quotes.
This method is only used to provide new implementations of this trait.
Errors
Similarly to Display::fmt
, this method should fail if and only if
the formatter returns an error. Since quoting is an infallible
operation, these failures will only result from inability to write to
the underlying stream.
Examples
use uniquote::Quote;
struct Strings<'a>(&'a str, &'a str);
impl Quote for Strings<'_> {
fn escape(&self, f: &mut uniquote::Formatter<'_>) -> uniquote::Result {
self.0.escape(f)?;
','.escape(f)?;
self.1.escape(f)
}
}
assert_eq!(r#""foo,bar""#, Strings("foo", "bar").quote().to_string());
Provided Methods§
sourcefn quote(&self) -> Display<&Self>
fn quote(&self) -> Display<&Self>
Quotes a string using the format described in the the module-level documentation.
The returned struct will implement Display
. It can be output using
a formatting macro or converted to a string by calling
ToString::to_string
.
Examples
use std::env;
use uniquote::Quote;
println!("{}", env::current_exe()?.quote());