mirror of
https://github.com/rust-lang/rust
synced 2024-10-14 20:46:49 +00:00
Rollup merge of #40988 - eugene-bulkin:ascii-docs, r=frewsxcv
API Docs: ascii Add/update docs for the `ascii` module per #29341. r? @steveklabnik
This commit is contained in:
commit
469fe7a1a3
|
@ -9,6 +9,20 @@
|
|||
// except according to those terms.
|
||||
|
||||
//! Operations on ASCII strings and characters.
|
||||
//!
|
||||
//! Most string operations in Rust act on UTF-8 strings. However, at times it
|
||||
//! makes more sense to only consider the ASCII character set for a specific
|
||||
//! operation.
|
||||
//!
|
||||
//! The [`AsciiExt`] trait provides methods that allow for character
|
||||
//! operations that only act on the ASCII subset and leave non-ASCII characters
|
||||
//! alone.
|
||||
//!
|
||||
//! The [`escape_default`] function provides an iterator over the bytes of an
|
||||
//! escaped version of the character given.
|
||||
//!
|
||||
//! [`AsciiExt`]: trait.AsciiExt.html
|
||||
//! [`escape_default`]: fn.escape_default.html
|
||||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
|
@ -53,11 +67,11 @@ pub trait AsciiExt {
|
|||
/// use std::ascii::AsciiExt;
|
||||
///
|
||||
/// let ascii = 'a';
|
||||
/// let utf8 = '❤';
|
||||
/// let non_ascii = '❤';
|
||||
/// let int_ascii = 97;
|
||||
///
|
||||
/// assert!(ascii.is_ascii());
|
||||
/// assert!(!utf8.is_ascii());
|
||||
/// assert!(!non_ascii.is_ascii());
|
||||
/// assert!(int_ascii.is_ascii());
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
|
@ -79,11 +93,11 @@ pub trait AsciiExt {
|
|||
/// use std::ascii::AsciiExt;
|
||||
///
|
||||
/// let ascii = 'a';
|
||||
/// let utf8 = '❤';
|
||||
/// let non_ascii = '❤';
|
||||
/// let int_ascii = 97;
|
||||
///
|
||||
/// assert_eq!('A', ascii.to_ascii_uppercase());
|
||||
/// assert_eq!('❤', utf8.to_ascii_uppercase());
|
||||
/// assert_eq!('❤', non_ascii.to_ascii_uppercase());
|
||||
/// assert_eq!(65, int_ascii.to_ascii_uppercase());
|
||||
/// ```
|
||||
///
|
||||
|
@ -108,11 +122,11 @@ pub trait AsciiExt {
|
|||
/// use std::ascii::AsciiExt;
|
||||
///
|
||||
/// let ascii = 'A';
|
||||
/// let utf8 = '❤';
|
||||
/// let non_ascii = '❤';
|
||||
/// let int_ascii = 65;
|
||||
///
|
||||
/// assert_eq!('a', ascii.to_ascii_lowercase());
|
||||
/// assert_eq!('❤', utf8.to_ascii_lowercase());
|
||||
/// assert_eq!('❤', non_ascii.to_ascii_lowercase());
|
||||
/// assert_eq!(97, int_ascii.to_ascii_lowercase());
|
||||
/// ```
|
||||
///
|
||||
|
@ -934,8 +948,12 @@ fn is_ascii_control(&self) -> bool {
|
|||
}
|
||||
}
|
||||
|
||||
/// An iterator over the escaped version of a byte, constructed via
|
||||
/// `std::ascii::escape_default`.
|
||||
/// An iterator over the escaped version of a byte.
|
||||
///
|
||||
/// This `struct` is created by the [`escape_default`] function. See its
|
||||
/// documentation for more.
|
||||
///
|
||||
/// [`escape_default`]: fn.escape_default.html
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub struct EscapeDefault {
|
||||
range: Range<usize>,
|
||||
|
@ -966,6 +984,38 @@ pub struct EscapeDefault {
|
|||
///
|
||||
/// assert_eq!(b'\\', escaped.next().unwrap());
|
||||
/// assert_eq!(b't', escaped.next().unwrap());
|
||||
///
|
||||
/// let mut escaped = ascii::escape_default(b'\r');
|
||||
///
|
||||
/// assert_eq!(b'\\', escaped.next().unwrap());
|
||||
/// assert_eq!(b'r', escaped.next().unwrap());
|
||||
///
|
||||
/// let mut escaped = ascii::escape_default(b'\n');
|
||||
///
|
||||
/// assert_eq!(b'\\', escaped.next().unwrap());
|
||||
/// assert_eq!(b'n', escaped.next().unwrap());
|
||||
///
|
||||
/// let mut escaped = ascii::escape_default(b'\'');
|
||||
///
|
||||
/// assert_eq!(b'\\', escaped.next().unwrap());
|
||||
/// assert_eq!(b'\'', escaped.next().unwrap());
|
||||
///
|
||||
/// let mut escaped = ascii::escape_default(b'"');
|
||||
///
|
||||
/// assert_eq!(b'\\', escaped.next().unwrap());
|
||||
/// assert_eq!(b'"', escaped.next().unwrap());
|
||||
///
|
||||
/// let mut escaped = ascii::escape_default(b'\\');
|
||||
///
|
||||
/// assert_eq!(b'\\', escaped.next().unwrap());
|
||||
/// assert_eq!(b'\\', escaped.next().unwrap());
|
||||
///
|
||||
/// let mut escaped = ascii::escape_default(b'\x9d');
|
||||
///
|
||||
/// assert_eq!(b'\\', escaped.next().unwrap());
|
||||
/// assert_eq!(b'x', escaped.next().unwrap());
|
||||
/// assert_eq!(b'9', escaped.next().unwrap());
|
||||
/// assert_eq!(b'd', escaped.next().unwrap());
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn escape_default(c: u8) -> EscapeDefault {
|
||||
|
|
Loading…
Reference in a new issue