Dzwebs.Net

撰写电脑技术杂文十余年

rust利用struct,next,Iterator实现斐波那契数列的例子

Admin | 2024-2-27 16:18:14 | 被阅次数 | 526

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

      如题所示,代码如下:

struct Fib{
    a:i32,b:i32,
}
impl Iterator for Fib{
    type Item = i32;
    fn next(&mut self) -> Option<Self::Item> {
        let m = self.a;
        self.a = self.b;
        self.b = self.a + m;
        Some(m)
    }
}
fn main(){
    let fib = Fib{a:0, b:1};
    for e in fib.take(7){
        //println!("{}", e);//输出每一项
    }
    let fib = Fib{a:0, b:1};
    let fibvec:Vec<_> = fib.take(7).collect();
    //输出[0, 1, 1, 2, 3, 5, 8]
    println!("{:?}", fibvec);
}


该杂文来自: 最新技术

上一篇:rust之map,fold,for_each,filter,next函数的使用

下一篇:使用vscode环境创建python项目并设置虚拟环境

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计