我们如何围绕现有类型定义包装类型并在其上定义函数?
我尝试了下面的代码,但收到此错误
struct Deploy(u8);
impl Deploy {
fn values_yaml(self) -> u8 {
self+1
}
fn chart(self) -> u8 {
self+1
}
}
fn main() {
let a = Deploy(1);
println!("Hello, world! {:?}", a.chart());
}
Run Code Online (Sandbox Code Playgroud)
错误:
error[E0369]: cannot add `{integer}` to `Deploy`
--> src/main.rs:5:11
|
5 | self+1
| ----^- {integer}
| |
| Deploy
|
note: an implementation of `Add<_>` might be missing for `Deploy`
Run Code Online (Sandbox Code Playgroud)
任何建议都是非常受欢迎的。
您正在处理一个元组结构,元组大小为 1。元组的元素是通过 Rust 中元组的常用语法访问的:
self.0
Run Code Online (Sandbox Code Playgroud)
或者,您也可以与常规元组类似地匹配字段。
let Deploy(resource_type) = self;
Run Code Online (Sandbox Code Playgroud)