GitHub Sale: sign up for any paid plan this week and pay nothing until January 1, 2009!  [ hide ]

public
Description: a ruby-to-pyc compiler
Clone URL: git://github.com/why/unholy.git
commit  12d52c4ce7154d3cd8300be129d15ed7e57e8b1e
tree    e914a334f60827097074f2570f76e66d0588f0b1
parent  3fa5d7dd9a996c915b4c7415283b493de0790ede
unholy / decompyle / test / test_augmentedAssign.py
100644 56 lines (46 sloc) 0.972 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
"""
augmentedAssign.py -- source test pattern for augmented assigns
 
This source is part of the decompyle test suite.
 
decompyle is a Python byte-code decompiler
See http://www.goebel-consult.de/decompyle/ for download and
for further information
"""
 
raise "This program can't be run"
 
a = 1
b = 2
a += b; print a # a = a+b = 3
a -= b; print a # a = a-b = 1
a *= b; print a # a = a*b = 2
a -= a; print a # a = a-a = 0
a += 7*3; print a # == 21
 
l= [1,2,3]
l[1] *= 3; print l[1]; # 6
l[1][2][3] = 7
l[1][2][3] *= 3;
l[:] += [9]; print l
l[:2] += [9]; print l
l[1:] += [9]; print l
l[1:4] += [9]; print l
l += [42,43]; print l
 
a.value = 1
a.value += 1;
a.b.val = 1
a.b.val += 1;
 
l = []
for i in range(3):
    lj = []
    for j in range(3):
        lk = []
        for k in range(3):
            lk.append(0)
        lj.append(lk)
    l.append(lj)
 
i = j = k = 1
def f():
    global i
    i += 1
    return i
 
l[i][j][k] = 1
i = 1
l[f()][j][k] += 1
print i, l