[筆記][rust] 迭代器(Iterators)範例
參考
描述
// `0..3`是一個迭代器然後他會產生0, 1, 2的資料
let mut sequence = 0..3;
P.S. 以下的iterator方法都可以參考連結2,以下範例會持續更新
1. 如何將資料取出來,可以利用iterator提供的方法next()或是用for來將資料一個一個從iterator取出來
// next()
println!("> {:?}", sequence.next());
// for
for i in 0..3 {
println!("> {}", i);
}
2. 從iterator取出特定數量的資料,可以使用take的方法
for i in fibonacci().take(4) {
println!("> {}", i);
}
3. 忽略iterator前幾筆資料,可以以用skip的方法
for i in (0..20).skip(3).take(3) {
println!("> {}", i);
}
println!("> {}", i);
}
4. 將array轉換成iterator
let array_irem = [1, 3, 3, 7];
for p in array_irem.iter() {
println!("> {}", p);
}
5. 將iterator裡面的數值加總
for p in array_irem.iter() {
println!("> {}", p);
}
5. 將iterator裡面的數值加總
let x: i32 = (0..100).sum();
println!("> {:?}", x);
6. 找出iterator的最大值跟最小值
let arr = [99, 9, 30, 2];
println!("{:?}", arr.iter().min());
println!("{:?}", arr.iter().max());
println!("> {:?}", x);
6. 找出iterator的最大值跟最小值
let arr = [99, 9, 30, 2];
println!("{:?}", arr.iter().min());
println!("{:?}", arr.iter().max());
留言