我尝试的一切都给了我Incomplete(Size(1))
。我现在最好的猜测是:
named!(my_u64(&str) -> u64,
map_res!(recognize!(nom::digit), u64::from_str)
);
测试:
#[cfg(test)]
mod test {
#[test]
fn my_u64() {
assert_eq!(Ok(("", 0)), super::my_u64("0"));
}
}
有时在我的变体(例如添加complete!
)中,如果我在末尾添加一个字符,我就能够解析它。
我想为此获得一个有效的解析器(最终我希望这将允许我为u64
包装器类型创建一个解析器)但更大的图景我想了解如何自己正确构建解析器。