macro_rules! cl_format {
($control_str:expr) => { ... };
($control_str:expr, $($ele:expr),*) => { ... };
}
Expand description
cl_format!
is the macro for quick using cl-format
cl_format!(control_str, &a, &b, &c) => {
let c = control_str::ControlStr::new("~a, ~a, ~a").expect("making control string has issue");
let a = Into::<
tildes::Args<'_>,
>::into([
&1 as &dyn tildes::TildeAble,
&2 as &dyn tildes::TildeAble,
&3 as &dyn tildes::TildeAble,
]);
c.reveal(a)
}
For example:
let l = vec![tilde!(&1), &2, &3, &4];
let a = cl_format!("~{~a~#[~;, and ~:;, ~]~}", &l);
assert_eq!(String::from("1, 2, 3, and 4"), a.unwrap());