Macro nom::named_args [−][src]
Makes a function from a parser combination with arguments.
ⓘ
//takes [`&[u8]`] as input named_args!(tagged(open_tag: &[u8], close_tag: &[u8])<&str>, delimited!(tag!(open_tag), map_res!(take!(4), str::from_utf8), tag!(close_tag)) ); //takes `&str` as input named_args!(tagged(open_tag: &str, close_tag: &str)<&str, &str>, delimited!(tag!(open_tag), take!(4), tag!(close_tag)) );
Note: if using arguments that way gets hard to read, it is always possible to write the equivalent parser definition manually, like this:
ⓘ
fn tagged(input: &[u8], open_tag: &[u8], close_tag: &[u8]) -> IResult<&[u8], &str> { // the first combinator in the tree gets the input as argument. It is then // passed from one combinator to the next through macro rewriting delimited!(input, tag!(open_tag), take!(4), tag!(close_tag) ) );