如何将特征向下转换为结构,就像这个 C# 示例中那样?
我有一个基本特征和几个派生结构,必须将它们推入单个基本特征向量中。
我必须检查向量的每个项目是否可转换为特定的派生结构,如果是,则将其用作该类型的结构。
这是我的 Rust 代码,我不知道如何实现注释部分。
trait Base {
fn base_method(&self);
}
struct Derived1;
impl Derived1 {
pub fn derived1_method(&self) {
println!("Derived1");
}
}
impl Base for Derived1 {
fn base_method(&self) {
println!("Base Derived1");
}
}
struct Derived2;
impl Derived2 {
pub fn derived2_method(&self) {
println!("Derived2");
}
}
impl Base for Derived2 {
fn base_method(&self) {
println!("Base Derived2");
}
}
fn main() {
let mut bases = Vec::<Box<dyn Base>>::new();
let der1 = Derived1{};
let der2 …Run Code Online (Sandbox Code Playgroud) 我的代码在那里不起作用!我读了一本 Rust 书。我读到如果你想删除一个值,你可以写 drop(name);
fn main() {
let n = 1;
std::mem::drop(n);
println!("{}", n);
}
Run Code Online (Sandbox Code Playgroud)
它在我的终端上运行,但为什么不n掉线?
我这里的内容很难阅读,我想知道如何用更少的代码行来编写它。
lst = [-3,10.5,100]
def add_index(nums):
lst2=[]
add = 0
for i in nums:
add += 1
lst2.append(i+add)
return lst2
add_index(lst)
Run Code Online (Sandbox Code Playgroud)