Trait artifact_app::dev_prefix::FromStr 1.0.0
[−]
[src]
pub trait FromStr { type Err; fn from_str(s: &str) -> Result<Self, Self::Err>; }
A trait to abstract the idea of creating a new instance of a type from a string.
FromStr
's from_str
method is often used implicitly, through
str
's parse
method. See parse
's documentation for examples.
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
type Err
The associated error which can be returned from parsing.
Required Methods
fn from_str(s: &str) -> Result<Self, Self::Err>
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 Json
[src]
type Err = ParserError
fn from_str(s: &str) -> Result<Json, ParserError>
[src]
impl FromStr for Value
[src]
impl FromStr for i32
[src]
type Err = ParseIntError
fn from_str(src: &str) -> Result<i32, ParseIntError>
[src]
impl FromStr for bool
[src]
type Err = ParseBoolError
fn from_str(s: &str) -> Result<bool, ParseBoolError>
[src]
Parse a bool
from a string.
Yields a Result<bool, ParseBoolError>
, because s
may or may not
actually be parseable.
Examples
use std::str::FromStr; assert_eq!(FromStr::from_str("true"), Ok(true)); assert_eq!(FromStr::from_str("false"), Ok(false)); assert!(<bool as FromStr>::from_str("not even a boolean").is_err());
Note, in many cases, the .parse()
method on str
is more proper.
assert_eq!("true".parse(), Ok(true)); assert_eq!("false".parse(), Ok(false)); assert!("not even a boolean".parse::<bool>().is_err());
impl FromStr for char
[src]
impl FromStr for f32
[src]
type Err = ParseFloatError
fn from_str(src: &str) -> Result<f32, ParseFloatError>
[src]
Converts a string in base 10 to a float. Accepts an optional decimal exponent.
This function accepts strings such as
- '3.14'
- '-3.14'
- '2.5E10', or equivalently, '2.5e10'
- '2.5E-10'
- '5.'
- '.5', or, equivalently, '0.5'
- 'inf', '-inf', 'NaN'
Leading and trailing whitespace represent an error.
Arguments
- src - A string
Return value
Err(ParseFloatError)
if the string did not represent a valid
number. Otherwise, Ok(n)
where n
is the floating-point
number represented by src
.
impl FromStr for u64
[src]
type Err = ParseIntError
fn from_str(src: &str) -> Result<u64, ParseIntError>
[src]
impl FromStr for u8
[src]
type Err = ParseIntError
fn from_str(src: &str) -> Result<u8, ParseIntError>
[src]
impl FromStr for i16
[src]
type Err = ParseIntError
fn from_str(src: &str) -> Result<i16, ParseIntError>
[src]
impl FromStr for u16
[src]
type Err = ParseIntError
fn from_str(src: &str) -> Result<u16, ParseIntError>
[src]
impl FromStr for isize
[src]
type Err = ParseIntError
fn from_str(src: &str) -> Result<isize, ParseIntError>
[src]
impl FromStr for f64
[src]
type Err = ParseFloatError
fn from_str(src: &str) -> Result<f64, ParseFloatError>
[src]
Converts a string in base 10 to a float. Accepts an optional decimal exponent.
This function accepts strings such as
- '3.14'
- '-3.14'
- '2.5E10', or equivalently, '2.5e10'
- '2.5E-10'
- '5.'
- '.5', or, equivalently, '0.5'
- 'inf', '-inf', 'NaN'
Leading and trailing whitespace represent an error.
Arguments
- src - A string
Return value
Err(ParseFloatError)
if the string did not represent a valid
number. Otherwise, Ok(n)
where n
is the floating-point
number represented by src
.
impl FromStr for u128
[src]
type Err = ParseIntError
fn from_str(src: &str) -> Result<u128, ParseIntError>
[src]
impl FromStr for i8
[src]
type Err = ParseIntError
fn from_str(src: &str) -> Result<i8, ParseIntError>
[src]
impl FromStr for i64
[src]
type Err = ParseIntError
fn from_str(src: &str) -> Result<i64, ParseIntError>
[src]
impl FromStr for i128
[src]
type Err = ParseIntError
fn from_str(src: &str) -> Result<i128, ParseIntError>
[src]
impl FromStr for usize
[src]
type Err = ParseIntError
fn from_str(src: &str) -> Result<usize, ParseIntError>
[src]
impl FromStr for u32
[src]
type Err = ParseIntError
fn from_str(src: &str) -> Result<u32, ParseIntError>
[src]
impl FromStr for Uuid
[src]
type Err = ParseError
fn from_str(us: &str) -> Result<Uuid, ParseError>
[src]
Parse a hex string and interpret as a Uuid
.
Accepted formats are a sequence of 32 hexadecimal characters, with or without hyphens (grouped as 8, 4, 4, 4, 12).
impl<S> FromStr for UniCase<S> where
S: FromStr,
S: FromStr,
impl FromStr for String
[src]
type Err = ParseError
fn from_str(s: &str) -> Result<String, ParseError>
[src]
impl FromStr for LanguageTag
impl FromStr for Op
impl FromStr for Regex
[src]
impl FromStr for MediaType
[src]
impl FromStr for LogLevel
[src]
impl FromStr for LogLevelFilter
[src]
impl<S> FromStr for UniCase<S> where
S: AsRef<str> + FromStr,
S: AsRef<str> + FromStr,
impl<S> FromStr for Ascii<S> where
S: FromStr,
S: FromStr,
impl FromStr for Ipv6Addr
[src]
type Err = AddrParseError
fn from_str(s: &str) -> Result<Ipv6Addr, AddrParseError>
[src]
impl FromStr for SocketAddrV6
[src]
type Err = AddrParseError
fn from_str(s: &str) -> Result<SocketAddrV6, AddrParseError>
[src]
impl FromStr for SocketAddrV4
[src]
type Err = AddrParseError
fn from_str(s: &str) -> Result<SocketAddrV4, AddrParseError>
[src]
impl FromStr for Ipv4Addr
[src]
type Err = AddrParseError
fn from_str(s: &str) -> Result<Ipv4Addr, AddrParseError>
[src]
impl FromStr for SocketAddr
[src]
type Err = AddrParseError
fn from_str(s: &str) -> Result<SocketAddr, AddrParseError>
[src]
impl FromStr for IpAddr
[src]
type Err = AddrParseError
fn from_str(s: &str) -> Result<IpAddr, AddrParseError>
[src]
impl FromStr for Datetime
[src]
type Err = DatetimeParseError
fn from_str(date: &str) -> Result<Datetime, DatetimeParseError>
[src]
impl FromStr for Value
[src]
impl FromStr for ConnectionOption
[src]
impl FromStr for ProtocolName
[src]
impl FromStr for Basic
[src]
impl FromStr for Host
[src]
impl FromStr for Bearer
[src]
impl FromStr for Charset
[src]
impl FromStr for Protocol
[src]
impl FromStr for CacheDirective
[src]
impl FromStr for MediaDesc
[src]
impl FromStr for Preference
[src]
impl FromStr for ContentRangeSpec
[src]
impl FromStr for RangeUnit
[src]
impl FromStr for StrictTransportSecurity
[src]
impl FromStr for RelationType
[src]
impl FromStr for EntityTag
[src]
impl FromStr for Encoding
[src]
impl FromStr for HttpVersion
[src]
type Err = Error
fn from_str(s: &str) -> Result<HttpVersion, <HttpVersion as FromStr>::Err>
[src]
impl<T> FromStr for QualityItem<T> where
T: FromStr,
[src]
T: FromStr,
impl FromStr for Method
[src]
impl FromStr for HttpDate
[src]
impl FromStr for Link
[src]
impl FromStr for ByteRangeSpec
[src]
impl FromStr for Range
[src]
impl FromStr for RequestUri
[src]
impl FromStr for Origin
[src]
impl FromStr for CFString
impl FromStr for VersionReq
impl FromStr for Version
impl<T> FromStr for QualityItem<T> where
T: FromStr,
[src]
T: FromStr,
impl FromStr for Basic
[src]
impl FromStr for ConnectionOption
[src]
impl FromStr for Uri
[src]
impl FromStr for Preference
[src]
impl FromStr for Origin
[src]
impl FromStr for Encoding
[src]
impl FromStr for ProtocolName
[src]
impl FromStr for Range
[src]
impl FromStr for RelationType
[src]
impl FromStr for Bearer
[src]
impl FromStr for ByteRangeSpec
[src]
impl FromStr for Charset
[src]
impl FromStr for EntityTag
[src]
impl FromStr for HttpVersion
[src]
impl FromStr for Link
[src]
impl FromStr for StrictTransportSecurity
[src]
impl FromStr for ContentRangeSpec
[src]
impl FromStr for Method
[src]
impl FromStr for HttpDate
[src]
impl FromStr for RangeUnit
[src]
impl FromStr for Protocol
[src]
impl FromStr for CacheDirective
[src]
impl FromStr for Warning
[src]
impl FromStr for MediaDesc
[src]
impl FromStr for Host
[src]
impl FromStr for Mime
[src]
impl FromStr for Value
[src]
impl FromStr for Attr
[src]
impl FromStr for Mime<Vec<(Attr, Value)>>
[src]
impl FromStr for TopLevel
[src]
impl FromStr for SubLevel
[src]
impl FromStr for AppSettings
[src]
type Err = String
fn from_str(s: &str) -> Result<AppSettings, <AppSettings as FromStr>::Err>
[src]
impl FromStr for ArgSettings
[src]
type Err = String
fn from_str(s: &str) -> Result<ArgSettings, <ArgSettings as FromStr>::Err>
[src]
impl FromStr for Shell
[src]
impl FromStr for Url
[src]
Parse a string as an URL, without a base URL or encoding override.