Trait Askable

Source
pub trait Askable {
    // Required method
    fn convert<S: AsRef<str>>(s: S) -> Result<Self>
       where Self: Sized;
}
Expand description

Base trait for all types that can be asked for input.

Required Methods§

Source

fn convert<S: AsRef<str>>(s: S) -> Result<Self>
where Self: Sized,

Convert a string to a value of type T.

§Arguments
  • prompt_str: string to convert

Returns InterviewError if the conversion fails.

returns: Result<Self, InterviewError>

§Examples
use interviewer::{Askable, Result};
struct X {
    x: i32
}

impl Askable for X {
    fn convert<S: AsRef<str>>(s: S) -> Result<Self> {
        Ok(X {
            x: s.as_ref().trim().parse::<i32>()?
        })
    }
}

Implementations on Foreign Types§

Source§

impl Askable for bool

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for char

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for f32

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for f64

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for i8

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for i16

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for i32

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for i64

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for i128

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for isize

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for u8

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for u16

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for u32

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for u64

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for u128

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for usize

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Source§

impl Askable for String

Source§

fn convert<S: AsRef<str>>(s: S) -> Result<Self>

Implementors§