5
我試圖編寫一個需要use
幾個項目的宏。這適用於每個文件一次使用,但對我來說感覺很髒。有沒有更好的方法直接引用這些項目,例如impl std::ops::Add for $t
或其他?謝謝!在宏中使用``的正確方法
#[macro_export]
macro_rules! implement_measurement {
($($t:ty)*) => ($(
// TODO: Find a better way to reference these...
use std::ops::{Add,Sub,Div,Mul};
use std::cmp::{Eq, PartialEq};
use std::cmp::{PartialOrd, Ordering};
impl Add for $t {
type Output = Self;
fn add(self, rhs: Self) -> Self {
Self::from_base_units(self.get_base_units() + rhs.get_base_units())
}
}
impl Sub for $t {
type Output = Self;
fn sub(self, rhs: Self) -> Self {
Self::from_base_units(self.get_base_units() - rhs.get_base_units())
}
}
// ... others ...
))
}
絕對路徑正是我所期待的。謝謝! – jocull