forked from MightyPork/crsn
parent
986f3be6a2
commit
34e339b1ca
@ -1,4 +1,24 @@ |
||||
pub use option_ext::UncheckedOptionExt; |
||||
use std::fmt::Display; |
||||
use sexp::{Sexp, Atom}; |
||||
use std::str::FromStr; |
||||
|
||||
mod option_ext; |
||||
|
||||
/// Convert a string token to Sexp
|
||||
#[allow(non_snake_case)] |
||||
pub fn A(s: impl Display) -> Sexp { |
||||
let s = s.to_string(); |
||||
|
||||
let x: Result<i64, _> = FromStr::from_str(&s); |
||||
if let Ok(x) = x { |
||||
return Sexp::Atom(Atom::I(x)); |
||||
} |
||||
|
||||
let y: Result<f64, _> = FromStr::from_str(&s); |
||||
if let Ok(y) = y { |
||||
return Sexp::Atom(Atom::F(y)); |
||||
} |
||||
|
||||
Sexp::Atom(Atom::S(s)) |
||||
} |
||||
|
Loading…
Reference in new issue