我正在使用Into
在Rust中的多個參數,並希望避免許多任務和愚蠢的錯誤。如何通過在Rust中調用其方法來避免重複聲明變量?
pub fn my_fancy_function<T>(v: T, u: T, i: T, l: T, j: T)
where T: Into<MyStruct>
{
let v = v.into();
let u = u.into();
let i = l.into(); // Oops, I transposed these!
let l = i.into();
let j = j.into();
// some code
}
有沒有辦法避免寫出大塊的任務?宏可能能夠做到這一點:
expand_into!(v, u, i, l, j);
沒有什麼特別之處into()
方法,這只是一個例子,在函數的方式,可能是開始,你可能經常重新申報很多爭論容易重複刪除。
這是更好的答案。最近我一直在研究一些非常複雜的宏,所以我想我的思維有遞歸。 – paholg