gzbox 1.5.26

gz 的工具箱
Documentation
// debug_println_vars!
// -  用来在 debug 模式下 打印出 "变量" 的 "字面字符串" 和 "值".
// -  参数为一个或者多个 "变量", 不能为空参数.
// -  在 cargo run 即 debug 模式 的时候会起作用, 用来调试.
//    在其它情况下, 相当于空白, 不会有任何作用.

#[macro_export]
#[cfg(debug_assertions)]
macro_rules! debug_println_vars {
      ($($var:expr),+ $(,)?) => {
            $(
                  println!(
                        "{} {}   {} {} {} {:#?}",
                        ansi_term::Colour::RGB(255, 60, 60)
                              .paint("DEBUG".to_string()).to_string(),
                        ansi_term::Colour::RGB(128, 128, 128)
                              .paint(chrono::Local::now().format("%m-%d %H:%M:%S").to_string()).to_string(),
                        ansi_term::Colour::RGB(28, 28, 255)
                              .paint("VARIABLE").to_string(),
                        ansi_term::Colour::RGB(255, 100, 50)
                              .paint(stringify!($var)).to_string(),
                        ansi_term::Colour::RGB(28, 28, 255)
                              .paint("->").to_string(),
                        &$var
                  );
            )*
      };
}

#[macro_export]
#[cfg(not(debug_assertions))]
macro_rules! debug_println_vars {
	($($var:expr),+ $(,)?) => {};
}