小编Flo*_*rit的帖子

获取一周的开始/结束日期

我需要chrono::Date今年一周的第一个和最后一个日期。

我有两个问题,首先我无法解析chrono今年的星期,第二我无法获得本周的第一个/最后一个日期。(这里有很多其他语言的解决方案,但没有rust)

TLDR:我需要一个这样的函数: fn x(week: isize) -> (Date<Local>, Date<Local>)元组为(一周的第一天,一周的最后一天)。

rust rust-chrono

9
推荐指数
2
解决办法
3229
查看次数

将借用值的向量收集到借用特征的 vec 中

是否可以Vec<&dyn Trait>从实现的值的迭代器中收集 a Trait

这是一个示例,基于属于特征问题的对象向量

trait Animal {
    fn make_sound(&self) -> String;
}

struct Dog;
impl Animal for Dog {
    fn make_sound(&self) -> String {
        "woof".to_string()
    }
}

fn main() {
    let dogs = [Dog, Dog];
    let v: Vec<&dyn Animal> = dogs.iter().collect();

    for animal in v.iter() {
        println!("{}", animal.make_sound());
    }
}
Run Code Online (Sandbox Code Playgroud)

这与error[E0277]: a value of type "Vec<&dyn Animal>" cannot be built from an iterator over elements of type &Dog`失败

但是,如果您使用将狗单独推入 vec(如原始问题的答案中),则它可以正常工作。

let …
Run Code Online (Sandbox Code Playgroud)

polymorphism idioms rust

3
推荐指数
1
解决办法
49
查看次数

标签 统计

rust ×2

idioms ×1

polymorphism ×1

rust-chrono ×1