[t] Fix codingstd_tests related to fp_equality.t
[parrot.git] / examples / tutorial / 55_iterator.pir
blob8c8d518ed0ca25bdce5e5c0de84e8881110eecf3
1 # Copyright (C) 2007-2009, Parrot Foundation.
2 # $Id$
4 =head1 iterators
6 An iterator is a type of PMC that helps with looping operations
7 involving arrays. The C<shift> and C<pop> operations on the iterator
8 return items from the array. The iterator itself provides a truth
9 value to determine if all elements in the array have been acted
10 upon. If the iterator is true, there are more items in the array to
11 deal with.
13 This example also demonstrates a technique for easily creating an
14 array of strings, by creating a string literal and using the C<split>
15 opcode on it.
17 =cut
19 .sub main :main
20     .local pmc myarray, it
22     myarray = split " ", "foo bar baz boz"
24     it = iter myarray
25   iter_loop:
26     unless it goto iter_end
28     $P0 = shift it
29     say $P0
31     goto iter_loop
32   iter_end:
34 .end
36 # Local Variables:
37 #   mode: pir
38 #   fill-column: 100
39 # End:
40 # vim: expandtab shiftwidth=4 ft=pir: