Function roe::make_ascii_titlecase [−][src]
pub fn make_ascii_titlecase<T: AsMut<[u8]>>(slice: &mut T)
Converts the given slice to its ASCII title case equivalent in-place.
ASCII letters 'a' to 'z' are mapped to 'A' to 'Z' in the first byte; subsequent bytes with ASCII letters 'A' to 'Z' are mapped to 'a' to 'z'; non-ASCII letters are unchanged.
This function can be used to implement String#capitalize!
for ASCII
strings in Ruby.
To return a new titlecased value without modifying the existing one, use
to_ascii_titlecase
.
Examples
let mut buf = *b"ABCxyz"; make_ascii_titlecase(&mut buf); assert_eq!(buf, *b"Abcxyz"); let mut buf = *b"1234%&*"; make_ascii_titlecase(&mut buf); assert_eq!(buf, *b"1234%&*"); let mut buf = *b"ABC1234%&*"; make_ascii_titlecase(&mut buf); assert_eq!(buf, *b"Abc1234%&*"); let mut buf = *b"1234%&*abcXYZ"; make_ascii_titlecase(&mut buf); assert_eq!(buf, *b"1234%&*abcxyz"); let mut buf = *b"ABC, XYZ"; make_ascii_titlecase(&mut buf); assert_eq!(buf, *b"Abc, xyz");