Function from_slice

Source
pub fn from_slice(input: &(impl AsRef<[u8]> + ?Sized)) -> Result<Sexpr<'_>>
Expand description

Parse a Sexpr from bytes. This fails if there is more than one S-expression in the input. To allow an arbitrary amount of S-expressions, have a look at from_slice_multi.

§Example

let sexpr = rsexpr::from_slice(b"((\"foo bar\")(baz [1 2 3]))").unwrap();
println!("{sexpr:#}");
if let rsexpr::Sexpr::List(list) = sexpr {
    assert_eq!(list.len(), 2);
}

§Errors

If the parsing failed, a list of Errors is returned. Additionally, the function will fail if the input does not contain exactly one S-expression (see Error::EmptyInput and Error::ExtraSexprs).