Last Modified
2014-09-11 14:51:21 +0000
Requires

Description

Stores the result of matching an atom against input in the captures in parse context. Doing so will allow you to pull parts of the ongoing parse out later and use them to match other pieces of input.

Example:

# After this, context.captures[:an_a] returns 'a'
str('a').capture(:an_a)

# Capture and use of the capture: (matches either 'aa' or 'bb')
match['ab'].capture(:first) >> 
  dynamic { |src, ctx| str(ctx.captures[:first]) }