Trait nom::lib::std::str::FromStr 1.0.0[−][src]
Parse a value from a string
FromStr
’s from_str
method is often used implicitly, through
str
’s parse
method. See parse
’s documentation for examples.
FromStr
does not have a lifetime parameter, and so you can only parse types
that do not contain a lifetime parameter themselves. In other words, you can
parse an i32
with FromStr
, but not a &i32
. You can parse a struct that
contains an i32
, but not one that contains an &i32
.
Examples
Basic implementation of FromStr
on an example Point
type:
use std::str::FromStr; use std::num::ParseIntError; #[derive(Debug, PartialEq)] struct Point { x: i32, y: i32 } impl FromStr for Point { type Err = ParseIntError; fn from_str(s: &str) -> Result<Self, Self::Err> { let coords: Vec<&str> = s.trim_matches(|p| p == '(' || p == ')' ) .split(',') .collect(); let x_fromstr = coords[0].parse::<i32>()?; let y_fromstr = coords[1].parse::<i32>()?; Ok(Point { x: x_fromstr, y: y_fromstr }) } } let p = Point::from_str("(1,2)"); assert_eq!(p.unwrap(), Point{ x: 1, y: 2} )
Associated Types
Required methods
pub fn from_str(s: &str) -> Result<Self, Self::Err>
[src][−]
Parses a string s
to return a value of this type.
If parsing succeeds, return the value inside Ok
, otherwise
when the string is ill-formatted return an error specific to the
inside Err
. The error type is specific to implementation of the trait.
Examples
Basic usage with [i32
], a type that implements FromStr
:
use std::str::FromStr; let s = "5"; let x = i32::from_str(s).unwrap(); assert_eq!(5, x);
Implementations on Foreign Types
impl FromStr for NonZeroU128
[src][−]
type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroU128, <NonZeroU128 as FromStr>::Err>
[src]
impl FromStr for NonZeroUsize
[src][−]
type Err = ParseIntError
pub fn from_str(
src: &str
) -> Result<NonZeroUsize, <NonZeroUsize as FromStr>::Err>
[src]
src: &str
) -> Result<NonZeroUsize, <NonZeroUsize as FromStr>::Err>
impl FromStr for NonZeroI64
[src][−]
type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroI64, <NonZeroI64 as FromStr>::Err>
[src]
impl FromStr for NonZeroU64
[src][−]
type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroU64, <NonZeroU64 as FromStr>::Err>
[src]
impl FromStr for NonZeroIsize
[src][−]
type Err = ParseIntError
pub fn from_str(
src: &str
) -> Result<NonZeroIsize, <NonZeroIsize as FromStr>::Err>
[src]
src: &str
) -> Result<NonZeroIsize, <NonZeroIsize as FromStr>::Err>
impl FromStr for NonZeroI32
[src][−]
type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroI32, <NonZeroI32 as FromStr>::Err>
[src]
impl FromStr for NonZeroI16
[src][−]
type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroI16, <NonZeroI16 as FromStr>::Err>
[src]
impl FromStr for NonZeroU32
[src][−]
type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroU32, <NonZeroU32 as FromStr>::Err>
[src]
impl FromStr for NonZeroI128
[src][−]
type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroI128, <NonZeroI128 as FromStr>::Err>
[src]
impl FromStr for NonZeroU8
[src][−]
type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroU8, <NonZeroU8 as FromStr>::Err>
[src]
impl FromStr for NonZeroI8
[src][−]
type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroI8, <NonZeroI8 as FromStr>::Err>
[src]
impl FromStr for NonZeroU16
[src][−]
type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroU16, <NonZeroU16 as FromStr>::Err>
[src]
Implementors
impl FromStr for bool
[src][+]
impl FromStr for char
1.20.0[src][+]
impl FromStr for f32
[src][+]
impl FromStr for f64
[src][+]
impl FromStr for i8
[src][+]
impl FromStr for i16
[src][+]
impl FromStr for i32
[src][+]
impl FromStr for i64
[src][+]
impl FromStr for i128
[src][+]
impl FromStr for isize
[src][+]
impl FromStr for u8
[src][+]
impl FromStr for u16
[src][+]
impl FromStr for u32
[src][+]
impl FromStr for u64
[src][+]
impl FromStr for u128
[src][+]
impl FromStr for usize
[src][+]
impl FromStr for Level
impl FromStr for Level
impl FromStr for LevelFilter
impl FromStr for LevelFilter
impl FromStr for Signal
impl FromStr for Signal
impl<T: FromStr + Clone + Integer> FromStr for Ratio<T>
impl<T: FromStr + Clone + Integer> FromStr for Ratio<T>
impl FromStr for TokenStream
impl FromStr for TokenStream
impl FromStr for OpenGL
impl FromStr for OpenGL
impl FromStr for GLSL
impl FromStr for GLSL
impl FromStr for OwnedName
impl FromStr for OwnedName