有个自定义类型,内部包含了一个Vec字段,我不想暴露这个字段,想在自定义类型实现切片操作
pub struct MyClass { series: Vec<...> }
希望能这样
let slice = &MyClass[0..];
1
共 5 条评论, 1 页
有个自定义类型,内部包含了一个Vec字段,我不想暴露这个字段,想在自定义类型实现切片操作
pub struct MyClass { series: Vec<...> }
希望能这样
let slice = &MyClass[0..];
评论区
写评论nice
--
👇
aj3n: ```rust use std::ops::Index;
struct Foo { bar: Vec, }
impl Index for Foo where [Foo]: Index, { type Output = <[Foo] as Index>::Output;
}
像这样?
终于实现了,就是代码太丑了,有没有更好的办法
可以试试这个
实现 Index trait?https://doc.rust-lang.org/std/ops/trait.Index.html
就像 Vec 那样。https://doc.rust-lang.org/std/vec/struct.Vec.html#impl-Index%3CI%3E-for-Vec%3CT,+A%3E