隱私權政策

搜尋此網誌

技術提供:Blogger.

關於我自己

我的相片
目前從事軟體相關行業,喜歡閱讀、健身、喝調酒。習慣把遇到的問題記下來,每天做一些整理方便自己以後查。 Python、Rust、Kotlin等程式語言皆為自學,目前比較著重在Rust語言,歡迎一起討論。

2023年11月8日 星期三

Rust 迭代rev概述 - 將迭代器數值反向


rev

rev用途為將iter的元素反向

文件[1]這樣說

    fn rev(self) -> Rev<Self>

self為iter本身

返還一個反向迭代器


例子

透過例子看

    let numbers = vec![1, 2, 3, 4, 5];
    let reversed_iter = numbers.iter().rev();
    for num in reversed_iter {
        println!("Number: {}", num);
    }
Number: 5 Number: 4 Number: 3 Number: 2 Number: 1

第一行為數組

第二行為將數組放數迭代器,並且反向

最後輸出可以看出數組反向


而反向也可以直接用在for裡面

不用特地先iter.rev()

    for i in (1..10).rev() {
        println!("number: {}", i);
    }
number: 9 number: 8 number: 7 number: 6 number: 5 number: 4 number: 3 number: 2 number: 1

因1..10為1, 2, 3, 4, 5, 6, 7, 8, 9

反轉後可以看出為9, 8, 7, 6, 5, 4, 3, 2, 1

如果想要呈現1到10的反轉結果則是加上=

    for i in (1..=10).rev() {
        println!("number: {}", i);
    }
number: 10 number: 9 number: 8 number: 7 number: 6 number: 5 number: 4 number: 3 number: 2 number: 1


參考資料

[1] https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.rev






0 comments:

張貼留言