parent
986f3be6a2
commit
34e339b1ca
@ -1,4 +1,24 @@ |
|||||||
pub use option_ext::UncheckedOptionExt; |
pub use option_ext::UncheckedOptionExt; |
||||||
|
use std::fmt::Display; |
||||||
|
use sexp::{Sexp, Atom}; |
||||||
|
use std::str::FromStr; |
||||||
|
|
||||||
mod option_ext; |
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