[docs] Fix typo in ch04 of the PIR book
[parrot.git] / examples / streams / SubCounter.pir
blob5c8701bf82b3747d6b4575bc889aff40057af5d3
1 # $Id$
3 =head1 Counter Example
5 This example shows the usage of C<Stream::Sub>.
7 =head1 FUNCTIONS
9 =over 4
11 =item _main
13 Creates a C<Stream::Sub> and dumps it.
15 =cut
17 .sub _main
18     .local pmc stream
20     load_bytecode 'Stream/Base.pbc'
21     load_bytecode 'Stream/Sub.pbc'
23     stream = new ['Stream'; 'Sub']
25     # set the stream's source sub
26     .const 'Sub' temp = "_counter"
27     assign stream, temp
29     # dump the stream
30     stream."dump"()
32     end
33 .end
35 =item _counter
37 This sub is used as the source for the counter stream.
39 It writes the numbers 0 .. 9 as strings to the stream.
41 =cut
43 .sub _counter :method
44     .local string str
45     .local int i
47     i = 0
49 LOOP:
50     # streams are using strings,
51     # so we have to convert the number into a string
52     str = i
54     # write the string
55     self."write"( str )
57     inc i
58     if i < 10 goto LOOP
59 .end
61 =back
63 =head1 AUTHOR
65 Jens Rieks E<lt>parrot at jensbeimsurfen dot deE<gt> is the author
66 and maintainer.
67 Please send patches and suggestions to the Perl 6 Internals mailing list.
69 =head1 COPYRIGHT
71 Copyright (C) 2004-2009, Parrot Foundation.
73 =cut
75 # Local Variables:
76 #   mode: pir
77 #   fill-column: 100
78 # End:
79 # vim: expandtab shiftwidth=4 ft=pir: