1个不稳定版本
0.1.0 | 2022年11月2日 |
---|
54 在 #lisp
9KB
163 行
lisp_iter
简单Lisp或类似Lisp表达式的单遍无分配迭代器。
use lisp_iter::LispIter;
fn main() {
let mut iter = LispIter::new(r#"(this-is-a-identifier :a 123 "wow") ; :a is shorthand for "a" "#);
let mut list = iter.next().unwrap().into_iter(); // Retrieve first list in iterator
println!("{:?}", list.next().unwrap()); // Identifier("this-is-a-identifier")
println!("{:?}", list.next().unwrap()); // Quote("a")
println!("{:?}", list.next().unwrap()); // Integer(0)
println!("{:?}", list.next().unwrap()); // Quote("wow")
}
适用于以最小的0开销浏览任何类似Lisp的内容。