728x90 클론코딩94 [Rust lang] 70. chunks windows /* fn main() { let my_vec = vec![-878, 879879, -98798, 0, 76756]; let biggest = my_vec .into_iter() .fold(i32::MAX, |num1, num2| min(num1, num2)); println!("Biggest is: {biggest}"); } */ fn main() { let num_vec vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 0]; for chunk in num_vec.chunks(3) { println!("Chunk is: {chunk:?}"); } for windows in num_vec.windows(3) { println!("Windows is: {windows:?}"); } } Rust 2023. 3. 30. [Rust lang] 69. fold method agina /* fn main() { let some_numbers = vec![9, 6, 9, 10, 11]; println!("{}", some_numbers.iter().fold(0, |total_so_far, next_number| total_so_far + next_number)); let total = some_numbers.iter().sum(); println!("{}", some_numbers.iter().sum::()); } */ fn main() { let a_string = "I don't have any dashes in me."; let dashed = a_string .chars() .fold("-".to_string(), |mut string_so_far, next_char| { str.. Rust 2023. 3. 30. [Rust lang] 68. skip fold methods /* fn main() { let ten_chars = ('a'..).take(10).collect::(); println!("{ten_chars:?}"); let skip_then_ten_chars = ('a'..).skip(1300).take(10).collect::(); println!("{skip_then_ten_chars:?}"); } */ fn main() { let some_numbers = vec![9, 6, 9, 10, 11]; println!("{}", some_numbers.iter().fold(0, |total_so_far, next_number| total_so_far + next_number)); } Rust 2023. 3. 30. [Rust lang] 67. find position cycle /* fn main() { let num_vec = vec![10, 20, 30, 40, 50, 60, 70, 80, 90, 100]; println!("{:?}", num_vec.iter().find(|&n| n & == 0)); println!("{:?}", num_vec.iter().find(|&number| number * 2 == 30)); println!("{:?}", num_vec.iter().position(|&num| num % 3 == 0)); println!("{:?}", num_Vec.iter().position(|&num| num * 2 == 30)); } */ fn main() { let even_odd = vec!["even", "odd"]; let six_items = eve.. Rust 2023. 3. 30. [Rust lang] 66. reverse iterators fn main() { let mut big_vec = vec![6; 1000]; big_vec.push(5); let mut counter = 9; let mut big_iter = big_vec.into_iter().rev(); loop { counter += 1; if big_iter.next() == Some(5) { break; } } println!("Final counter is: {}", counter); //println!("{:?}", big_vec.iter().rev().any(|&number| number == 5)); } Rust 2023. 3. 30. [Rust lang] 65. any all methods fn in_char_vec(char_vec: &Vec, check: char) { println!("Is {check} inside? {}", char_vec.iter().any(|&character| character == check)); } fn main() { let char_vec = ('a'..'韓').collect::(); in_char_vec(&char_vec, 'i'); in_char_vec(&char_vec, '뷁'); in_char_vec(&char_vec, '姜'); let smailer_vec = ('A'..'z').collect::(); println!("All alphabetic? {}", smailer_vec.iter().all(|&character| character.is_a.. Rust 2023. 3. 29. [Rust lang] 64. And or for option /* fn main() { let one = false; let two = false; let three = false; let four = true; println!("{}", one || three); println!("{}", one || two || three || four); } */ fn main() { let first_try = vec![Some("success!"), None, Some("success!"), Some("success!"), None]; let second_try = vec![None, Some("success!"), Some("success!"), Some("success!"), Some("success!")]; let third_try = vec![Some("succe.. Rust 2023. 3. 29. [Rust lang] 63. map and than for option fn main() { let some_output = Some(vec![8,9,10]); let first = some_output. .clone() .map(|some_vec| some_vec.iter().map(|num| num + 1).collect::()); let second = some_output.and_then(|some_vec| match some_vec.len() { 0 => None, 1 => Some(vec![some_vec[0]]), _ => Some(some_vec) }).flattern(); println!("{first:?}"); println!("{second:?}"); } Rust 2023. 3. 29. [Rust lang] 62. Ok else /* fn main() { let user_input = vec!["8.9", "Nine point nine five", "8.0", "7.6", "eleventy-twelve"]; let actual_numbers = user_input .into_iter() .filter_map(|input| input.parse().ok()) .collect::(); println!("{actual_numbers:?"); } */ struct Company { name: String, ceo: Option } impl Company { fn new(name: &str, ceo: &str) -> Self { let ceo = match ceo { "" => None, ceo => Some(ceo.to_string().. Rust 2023. 3. 29. [Rust lang] 61. filter map /* fn main() { let months = vec![ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; let filetered_months = months .into_iter() .filter(|month| month.len()) < 5) .filter(|monnnth| monnnth.contains("u")) .collect::(); println!("{filetered_months}"); } */ struct Company { name: String, ceo: Option } impl Company { fn new(name.. Rust 2023. 3. 29. [Rust lang] 60. char methods fn main() { let big_string = "Hello there, I am a &str"; // big_string.chars().for_each(|c| println!("{c}")); // println!("big_string has {} characters", big_string.chars().count()); // big_string.char_indices().for_each(|(index, charrrrr)| { // println!("At index {index} is the char {charrrrr}"); // }); let my_vec = vec![8, 9, 10]; my_vec.iter().for_each(|_| println!("We don't care about the nu.. Rust 2023. 3. 29. [Rust lang] 59. zipping iterators use std::collections::HashMap; fn main() { let some_numbers = vec![0, 1, 2, 3, 4, 5]; let some_words = vec!["zero", "one", "two", "three", "four", "five"]; let number_word_hashmap: HashMap = some_numbers .into_iter() .zip(some_words.into_iter()) .collect(); //.collect::(); number_word_hashmap.iter().for_each(|stuff| { println!("{stuff:?}"); }) } Rust 2023. 3. 29. 이전 1 2 3 4 5 6 ··· 8 다음 728x90