小妮同学在学习Rust的过程中自定义了一个关于二维向量的构造类型,下面是她写的程序片段,她的命名符合规范吗?请为她调整程序,使得程序正常运行。并为其实现减法、自加、自减的运算符重载。
struct vec2(u32, u32);
impl vec2 {
fn NEW<T: Into<u32>>(X: T, Y: T) -> Self {
vec2(X.into(), Y.into())
}
}
impl Add for vec2 {
type Output = vec2;
fn add(self, OtHeR: vec2) -> vec2 {
vec2(self.0 + OtHeR.0, self.1 + OtHeR.1)
}
}
fn main() {
let foo = vec2::NEW(0, 2);
println!("{}", foo);
}
要求
- 请不要使用
allow
来消除不规范的命名警告 - 尽可能利用宏来完成运算符重载的部分
- 鼓励使用 Clippy 工具
1
共 0 条评论, 1 页
评论区
写评论还没有评论