fun with string slices
This commit is contained in:
parent
e5b04eb8c4
commit
8266d81352
@ -1,18 +1,26 @@
|
|||||||
fn main() {
|
fn main() {
|
||||||
let s = String::from("what the what");
|
let s = String::from("hello world");
|
||||||
let w = first_word(&s);
|
|
||||||
|
|
||||||
println!("w={}", w);
|
let word = first_word(&s[..]);
|
||||||
|
println!("word={}", word);
|
||||||
|
|
||||||
|
let l = "hello world";
|
||||||
|
|
||||||
|
let word = first_word(&l[..]);
|
||||||
|
println!("word={}", word);
|
||||||
|
|
||||||
|
let word = first_word(l);
|
||||||
|
println!("word={}", word);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn first_word(s: &String) -> usize {
|
fn first_word(s: &str) -> &str {
|
||||||
let bytes = s.as_bytes();
|
let bytes = s.as_bytes();
|
||||||
|
|
||||||
for (i, &item) in bytes.iter().enumerate() {
|
for (i, &item) in bytes.iter().enumerate() {
|
||||||
if item == b' ' {
|
if item == b' ' {
|
||||||
return i;
|
return &s[0..i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s.len()
|
&s[..]
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user