Lichen

lib/operator/sequence.py

548:1eb65d050225
2017-02-05 Paul Boddie Added missing support for item and slice deletion, fixing the syntax tree so that the operation nodes become wrapped by Discard nodes. Added missing operator functions for deletion. Implemented __delitem__ in the list class.
     1 #!/usr/bin/env python     2      3 """     4 Operator support.     5      6 Copyright (C) 2010, 2013, 2015, 2016, 2017 Paul Boddie <paul@boddie.org.uk>     7      8 This program is free software; you can redistribute it and/or modify it under     9 the terms of the GNU General Public License as published by the Free Software    10 Foundation; either version 3 of the License, or (at your option) any later    11 version.    12     13 This program is distributed in the hope that it will be useful, but WITHOUT    14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS    15 FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more    16 details.    17     18 You should have received a copy of the GNU General Public License along with    19 this program.  If not, see <http://www.gnu.org/licenses/>.    20 """    21     22 # Access and slicing functions.    23     24 def delitem(a, b):    25     a.__delitem__(b)    26     27 def getitem(a, b):    28     return a.__getitem__(b)    29     30 def setitem(a, b, c):    31     a.__setitem__(b, c)    32     33 def delslice(a, b, c):    34     a.__delitem__(slice(b, c))    35     36 def getslice(a, b, c):    37     return a.__getitem__(slice(b, c))    38     39 def setslice(a, b, c, d):    40     a.__setitem__(slice(b, c), d)    41     42 # vim: tabstop=4 expandtab shiftwidth=4