fn main() { //let words = String::from("hello there world"); //let words = "hello there world"; //let first = first_word(&words); //let second = second_word(&words); //let last = last_word(&words); //println!("{}\n{}", first, last); let a = [1, 2, 3, 4, 5]; let slice = &a[1..4]; for each in slice { println!("{}", each); } } fn first_word(s: &str) -> &str { let bytes = s.as_bytes(); for (i, &item) in bytes.iter().enumerate() { if item == b' ' { return &s[..i]; } } &s } fn second_word(s: &str) -> &str { let bytes = s.as_bytes(); for (i, &item) in bytes.iter().enumerate() { if item == b' ' { return &s[i + 1..]; } } &s } fn last_word(s: &str) -> &str { let bytes = s.as_bytes(); let mut result = ""; for (i, &item) in bytes.iter().enumerate() { if item == b' ' { result = &s[i + 1..]; } } &result }