Method: MessagePack::IDL::ParsletParser.sequence
- Defined in:
- lib/msgpack/idl/parser/rule.rb
.sequence(name, separator, element, min = 0) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/msgpack/idl/parser/rule.rb', line 24 def sequence(name, separator, element, min=0) if min == 0 eval %[rule(:#{name.to_s.dump}) { (#{element}.as(:sequence_x) >> (#{separator} >> #{element}.as(:sequence_xs)).repeat).maybe.as(:sequence) }] else eval %[rule(:#{name.to_s.dump}) { (#{element}.as(:sequence_x) >> (#{separator} >> #{element}.as(:sequence_xs)).repeat(#{min-1})).as(:sequence) }] end end |