aboutsummaryrefslogtreecommitdiff
path: root/spec/outputs/teal_lang.lua
diff options
context:
space:
mode:
Diffstat (limited to 'spec/outputs/teal_lang.lua')
-rw-r--r--spec/outputs/teal_lang.lua49
1 files changed, 49 insertions, 0 deletions
diff --git a/spec/outputs/teal_lang.lua b/spec/outputs/teal_lang.lua
new file mode 100644
index 0000000..28ba6f8
--- /dev/null
+++ b/spec/outputs/teal_lang.lua
@@ -0,0 +1,49 @@
1local a = {
2 value = 123
3}
4local b = a.value
5local add = function(a, b)
6 return a + b
7end
8local s = add(a.value, b)
9print(s)
10local Point = {}
11Point.new = function(x, y)
12local point = setmetatable({ }, {
13 __index = Point
14})
15 point.x = x or 0
16 point.y = y or 0
17 return point
18end
19Point.move = function(self, dx, dy)
20 self.x = self.x + dx
21 self.y = self.y + dy
22end
23local p = Point.new(100, 100)
24p:move(50, 50)
25local filter = function(tab, handler)
26 local _accum_0 = { }
27 local _len_0 = 1
28 for _index_0 = 1, #tab do
29 local item = tab[_index_0]
30 if handler(item) then
31 _accum_0[_len_0] = item
32 _len_0 = _len_0 + 1
33 end
34 end
35 return _accum_0
36end
37local cond = function(item)
38 return item ~= "a"
39end
40local res = filter({
41 "a",
42 "b",
43 "c",
44 "a"
45}, cond)
46for _index_0 = 1, #res do
47 local s = res[_index_0]
48 print(s)
49end