parrotcode: A PIR-based Iterator Object | |
Contents | Libraries |
Iter -- A PIR-based Iterator Object
An iterator with an object-oriented interface, written in PIR. Currently implemented only for Array type PMCs. Expect Hash support shortly.
load_bytecode 'Iter.pir' .local pmc iter iter = new 'Iter' ## initialize the iterator iter.'start'(your_aggregate) ## advance to the next item in the iterator iter.'next'() ## check for exhaustion $I0 = iter.'exhausted'() if $I0 goto done ## get the value from the iterator $P0 = iter.'value'() ## alternate interface to advance and get the value $P0 = iter.'nextval'()
Iter
Methods .'start'(PMC aggregate)
.'next'()
value
attribute to the value of the next item from the iterator. Sets the internal exhausted
attribute if the iterator is exhausted.
.'exhausted'()
.'value'()
.'nextval'()
.'next'()
, and returns .'value'()
.Jerry Gay a.k.a. particle
|