std: Changing the meaning of the count to splitn
This commit is an implementation of [RFC 979][rfc] which changes the meaning of the count parameter to the `splitn` function on strings and slices. The parameter now means the number of items that are returned from the iterator, not the number of splits that are made. [rfc]: https://github.com/rust-lang/rfcs/pull/979 Closes #23911 [breaking-change]
This commit is contained in:
parent
d528aa9960
commit
e98dce3e00
14 changed files with 88 additions and 69 deletions
|
|
@ -65,20 +65,20 @@ fn test_strslice_contains() {
|
|||
fn test_rsplitn_char_iterator() {
|
||||
let data = "\nMäry häd ä little lämb\nLittle lämb\n";
|
||||
|
||||
let mut split: Vec<&str> = data.rsplitn(3, ' ').collect();
|
||||
let mut split: Vec<&str> = data.rsplitn(4, ' ').collect();
|
||||
split.reverse();
|
||||
assert_eq!(split, ["\nMäry häd ä", "little", "lämb\nLittle", "lämb\n"]);
|
||||
|
||||
let mut split: Vec<&str> = data.rsplitn(3, |c: char| c == ' ').collect();
|
||||
let mut split: Vec<&str> = data.rsplitn(4, |c: char| c == ' ').collect();
|
||||
split.reverse();
|
||||
assert_eq!(split, ["\nMäry häd ä", "little", "lämb\nLittle", "lämb\n"]);
|
||||
|
||||
// Unicode
|
||||
let mut split: Vec<&str> = data.rsplitn(3, 'ä').collect();
|
||||
let mut split: Vec<&str> = data.rsplitn(4, 'ä').collect();
|
||||
split.reverse();
|
||||
assert_eq!(split, ["\nMäry häd ", " little l", "mb\nLittle l", "mb\n"]);
|
||||
|
||||
let mut split: Vec<&str> = data.rsplitn(3, |c: char| c == 'ä').collect();
|
||||
let mut split: Vec<&str> = data.rsplitn(4, |c: char| c == 'ä').collect();
|
||||
split.reverse();
|
||||
assert_eq!(split, ["\nMäry häd ", " little l", "mb\nLittle l", "mb\n"]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue