1
assert_equal '[[1], 2, 3]', '*v1, (a, b) = [1,[2, 3]]; [v1, a, b]'
2
assert_equal '[[1], 2, 3]', '*v1,(*), (a, b) = [1,:x,[2, 3]]; [v1, a, b]'
4
assert_equal '[]', '*a = *nil; a'
5
assert_equal '[nil]', '*a = nil; a'
6
assert_equal '2', 'a, a = 1, 2; a', "[ruby-dev:31522]"
7
assert_equal '[1, 2]', 'a, b = 1, 2'
8
assert_equal '[1, 2]', %q{
10
trace_var(:$a){|v| ans << v}
11
trace_var(:$b){|v| ans << v}
17
# generated by this script:
23
vals = %w(a b c d e f)
24
vals[i] = '*' + vals[i]
25
program = "#{vals.join(", ")} = *ary"
29
assert_equal "#{ans.inspect}", %q{
31
#{program}; [a, b, c, d, e, f]
37
assert_equal "[[], nil, nil, nil, nil, nil]", %q{
39
*a, b, c, d, e, f = *ary; [a, b, c, d, e, f]
42
assert_equal "[[], 0, nil, nil, nil, nil]", %q{
44
*a, b, c, d, e, f = *ary; [a, b, c, d, e, f]
47
assert_equal "[[], 0, 1, nil, nil, nil]", %q{
49
*a, b, c, d, e, f = *ary; [a, b, c, d, e, f]
52
assert_equal "[[], 0, 1, 2, nil, nil]", %q{
54
*a, b, c, d, e, f = *ary; [a, b, c, d, e, f]
57
assert_equal "[[], 0, 1, 2, 3, nil]", %q{
59
*a, b, c, d, e, f = *ary; [a, b, c, d, e, f]
62
assert_equal "[[], 0, 1, 2, 3, 4]", %q{
64
*a, b, c, d, e, f = *ary; [a, b, c, d, e, f]
67
assert_equal "[[0], 1, 2, 3, 4, 5]", %q{
68
ary = [0, 1, 2, 3, 4, 5]
69
*a, b, c, d, e, f = *ary; [a, b, c, d, e, f]
72
assert_equal "[[0, 1], 2, 3, 4, 5, 6]", %q{
73
ary = [0, 1, 2, 3, 4, 5, 6]
74
*a, b, c, d, e, f = *ary; [a, b, c, d, e, f]
77
assert_equal "[nil, [], nil, nil, nil, nil]", %q{
79
a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]
82
assert_equal "[0, [], nil, nil, nil, nil]", %q{
84
a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]
87
assert_equal "[0, [], 1, nil, nil, nil]", %q{
89
a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]
92
assert_equal "[0, [], 1, 2, nil, nil]", %q{
94
a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]
97
assert_equal "[0, [], 1, 2, 3, nil]", %q{
99
a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]
102
assert_equal "[0, [], 1, 2, 3, 4]", %q{
103
ary = [0, 1, 2, 3, 4]
104
a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]
107
assert_equal "[0, [1], 2, 3, 4, 5]", %q{
108
ary = [0, 1, 2, 3, 4, 5]
109
a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]
112
assert_equal "[0, [1, 2], 3, 4, 5, 6]", %q{
113
ary = [0, 1, 2, 3, 4, 5, 6]
114
a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]
117
assert_equal "[nil, nil, [], nil, nil, nil]", %q{
119
a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]
122
assert_equal "[0, nil, [], nil, nil, nil]", %q{
124
a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]
127
assert_equal "[0, 1, [], nil, nil, nil]", %q{
129
a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]
132
assert_equal "[0, 1, [], 2, nil, nil]", %q{
134
a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]
137
assert_equal "[0, 1, [], 2, 3, nil]", %q{
139
a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]
142
assert_equal "[0, 1, [], 2, 3, 4]", %q{
143
ary = [0, 1, 2, 3, 4]
144
a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]
147
assert_equal "[0, 1, [2], 3, 4, 5]", %q{
148
ary = [0, 1, 2, 3, 4, 5]
149
a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]
152
assert_equal "[0, 1, [2, 3], 4, 5, 6]", %q{
153
ary = [0, 1, 2, 3, 4, 5, 6]
154
a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]