| Home | Trees | Indices | Help |
|
|---|
|
|
1 # osh
2 # Copyright (C) Jack Orenstein <jao@geophile.com>
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 """C{tail N}
19
20 The last N items of the input sequence are passed on as output. All other input
21 is ignored. N must be an integer.
22
23 """
24
25 import osh.core
26
27 # CLI
30
31 # API
33 """The last N items of the input sequence are passed on as output. All other input
34 is ignored. N must be an integer.
35 """
36 return _Tail().process_args(n)
37
39
40 _n = None
41 _tail = None
42 _p = None
43 _full = None
44
45
46 # object interface
47
50
51
52 # BaseOp interface
53
56
58 args = self.args()
59 self._n = args.next_int()
60 self._tail = [None for i in xrange(self._n)]
61 self._p = 0
62 self._full = False
63
65 if self._n > 0:
66 self._tail[self._p] = object
67 self._p += 1
68 if self._p == self._n:
69 self._full = True
70 self._p = 0
71
80
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Sun Oct 3 15:23:48 2010 | http://epydoc.sourceforge.net |