reorganize destructure tests

This commit is contained in:
leaf corcoran 2013-06-06 19:33:08 -07:00
parent 9ac382fc49
commit e1c2829d0e
2 changed files with 204 additions and 164 deletions

View File

@ -1,81 +1,85 @@
{a, b} = hello
do
{a, b} = hello
{{a}, b, {c}} = hello
{{a}, b, {c}} = hello
{ :hello, :world } = value
{ :hello, :world } = value
{ yes: no, thing } = world
do
{ yes: no, thing } = world
{:a,:b,:c,:d} = yeah
{:a,:b,:c,:d} = yeah
{a} = one, two
{b}, c = one
{d}, e = one, two
{a} = one, two
{b}, c = one
{d}, e = one, two
x, {y} = one, two
x, {y} = one, two
xx, yy = 1, 2
{yy, xx} = {xx, yy}
xx, yy = 1, 2
{yy, xx} = {xx, yy}
{a, :b, c, :d, e, :f, g} = tbl
{a, :b, c, :d, e, :f, g} = tbl
---
futurists =
sculptor: "Umberto Boccioni"
painter: "Vladimir Burliuk"
poet:
name: "F.T. Marinetti"
address: {
"Via Roma 42R"
"Bellagio, Italy 22021"
}
do
futurists =
sculptor: "Umberto Boccioni"
painter: "Vladimir Burliuk"
poet:
name: "F.T. Marinetti"
address: {
"Via Roma 42R"
"Bellagio, Italy 22021"
}
{poet: {:name, address: {street, city}}} = futurists
print name, street, city
{poet: {:name, address: {street, city}}} = futurists
--
{ @world } = x
{ a.b, c.y, func!.z } = x
do
{ @world } = x
{ a.b, c.y, func!.z } = x
{ world: @world } = x
{ world: @world } = x
--
thing = {{1,2}, {3,4}}
do
thing = {{1,2}, {3,4}}
for {x,y} in *thing
print x,y
for {x,y} in *thing
print x,y
--
with {a,b} = thing
print a, b
do
with {a,b} = thing
print a, b
--
thing = nil
if {a} = thing
print a
else
print "nothing"
do
thing = nil
if {a} = thing
print a
else
print "nothing"
thang = {1,2}
if {a,b} = thang
print a,b
if {a,b} = thing
print a,b
elseif {c,d} = thang
print c,d
else
print "NO"
thang = {1,2}
if {a,b} = thang
print a,b
if {a,b} = thing
print a,b
elseif {c,d} = thang
print c,d
else
print "NO"
--

View File

@ -1,151 +1,187 @@
local a, b
do
local _obj_0 = hello
a, b = _obj_0[1], _obj_0[2]
end
local c
do
local _obj_0 = hello
a, b, c = _obj_0[1][1], _obj_0[2], _obj_0[3][1]
end
local hello, world
do
local _obj_0 = value
hello, world = _obj_0.hello, _obj_0.world
end
local no, thing
no, thing = world.yes, world[1]
local d
do
local _obj_0 = yeah
a, b, c, d = _obj_0.a, _obj_0.b, _obj_0.c, _obj_0.d
local a, b
do
local _obj_0 = hello
a, b = _obj_0[1], _obj_0[2]
end
local c
do
local _obj_0 = hello
a, b, c = _obj_0[1][1], _obj_0[2], _obj_0[3][1]
end
local hello, world
do
local _obj_0 = value
hello, world = _obj_0.hello, _obj_0.world
end
end
do
local _obj_0 = one
a = _obj_0[1]
local no, thing
do
local _obj_0 = world
no, thing = _obj_0.yes, _obj_0[1]
end
local a, b, c, d
do
local _obj_0 = yeah
a, b, c, d = _obj_0.a, _obj_0.b, _obj_0.c, _obj_0.d
end
do
local _obj_0 = one
a = _obj_0[1]
end
local _ = two
do
local _obj_0 = one
b = _obj_0[1]
end
c = nil
do
local _obj_0 = one
d = _obj_0[1]
end
local e = two
local x = one
local y
do
local _obj_0 = two
y = _obj_0[1]
end
local xx, yy = 1, 2
do
local _obj_0 = {
xx,
yy
}
yy, xx = _obj_0[1], _obj_0[2]
end
local f, g
do
local _obj_0 = tbl
a, b, c, d, e, f, g = _obj_0[1], _obj_0.b, _obj_0[2], _obj_0.d, _obj_0[3], _obj_0.f, _obj_0[4]
end
end
local _ = two
do
local _obj_0 = one
b = _obj_0[1]
end
c = nil
do
local _obj_0 = one
d = _obj_0[1]
end
local e = two
local x = one
local y
do
local _obj_0 = two
y = _obj_0[1]
end
local xx, yy = 1, 2
do
local _obj_0 = {
xx,
yy
}
yy, xx = _obj_0[1], _obj_0[2]
end
local f, g
do
local _obj_0 = tbl
a, b, c, d, e, f, g = _obj_0[1], _obj_0.b, _obj_0[2], _obj_0.d, _obj_0[3], _obj_0.f, _obj_0[4]
end
local futurists = {
sculptor = "Umberto Boccioni",
painter = "Vladimir Burliuk",
poet = {
name = "F.T. Marinetti",
address = {
"Via Roma 42R",
"Bellagio, Italy 22021"
local futurists = {
sculptor = "Umberto Boccioni",
painter = "Vladimir Burliuk",
poet = {
name = "F.T. Marinetti",
address = {
"Via Roma 42R",
"Bellagio, Italy 22021"
}
}
}
}
local name, street, city
name, street, city = futurists.poet.name, futurists.poet.address[1], futurists.poet.address[2]
print(name, street, city)
self.world = x[1]
a.b, c.y, func().z = x[1], x[2], x[3]
self.world = x.world
thing = {
{
local name, street, city
name, street, city = futurists.poet.name, futurists.poet.address[1], futurists.poet.address[2]
end
do
do
local _obj_0 = x
self.world = _obj_0[1]
end
do
local _obj_0 = x
a.b, c.y, func().z = _obj_0[1], _obj_0[2], _obj_0[3]
end
do
local _obj_0 = x
self.world = _obj_0.world
end
end
do
local thing = {
{
1,
2
},
{
3,
4
}
}
local _list_0 = thing
for _index_0 = 1, #_list_0 do
local _des_0 = _list_0[_index_0]
local x, y
x, y = _des_0[1], _des_0[2]
print(x, y)
end
end
do
do
local _with_0 = thing
local a, b
a, b = _with_0[1], _with_0[2]
print(a, b)
end
end
do
local thing = nil
do
local _des_0 = thing
if _des_0 then
local a
a = _des_0[1]
print(a)
else
print("nothing")
end
end
local thang = {
1,
2
},
{
3,
4
}
}
local _list_0 = thing
for _index_0 = 1, #_list_0 do
local _des_0 = _list_0[_index_0]
x, y = _des_0[1], _des_0[2]
print(x, y)
end
do
local _with_0 = thing
a, b = _with_0[1], _with_0[2]
print(a, b)
end
thing = nil
do
local _des_0 = thing
if _des_0 then
a = _des_0[1]
print(a)
else
print("nothing")
do
local _des_0 = thang
if _des_0 then
local a, b
a, b = _des_0[1], _des_0[2]
print(a, b)
end
end
end
local thang = {
1,
2
}
do
local _des_0 = thang
if _des_0 then
a, b = _des_0[1], _des_0[2]
print(a, b)
end
end
do
local _des_0 = thing
if _des_0 then
a, b = _des_0[1], _des_0[2]
print(a, b)
else
do
local _des_1 = thang
if _des_1 then
c, d = _des_1[1], _des_1[2]
print(c, d)
else
print("NO")
do
local _des_0 = thing
if _des_0 then
local a, b
a, b = _des_0[1], _des_0[2]
print(a, b)
else
do
local _des_1 = thang
if _des_1 then
local c, d
c, d = _des_1[1], _des_1[2]
print(c, d)
else
print("NO")
end
end
end
end
end
do
local z = "yeah"
local a, b, c
a, b, c = z[1], z[2], z[3]
end
do
local a, b, c
do
local _obj_0 = z
a, b, c = _obj_0[1], _obj_0[2], _obj_0[3]
end
end
local _
_ = function(z)
local a, b, c
a, b, c = z[1], z[2], z[3]
end
do
local z = "oo"
return function(k)
local a, b, c
a, b, c = z[1], z[2], z[3]
end
end