From 1df786307c1983b8ce693e3916081a8bcd4e95ae Mon Sep 17 00:00:00 2001 From: Li Jin Date: Wed, 3 Mar 2021 21:31:01 +0800 Subject: add new metatable syntax for issue #41, fix reusing local variable issue, update built-in Lua. --- spec/inputs/metatable.yue | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 spec/inputs/metatable.yue (limited to 'spec/inputs') diff --git a/spec/inputs/metatable.yue b/spec/inputs/metatable.yue new file mode 100644 index 0000000..6f7b418 --- /dev/null +++ b/spec/inputs/metatable.yue @@ -0,0 +1,43 @@ +a = close: true, close#: => print "out of scope" +b = add#: (left, right)-> right - left +c = key1: true, :add#, key2: true + +close _ = close#: -> print "out of scope" + +d, e = a.close, a.close# + +f = a\close# 1 +a.add# = (x, y)-> x + y + +do + {:new, :close#, close#: closeA} = a + print new, close, closeA + +do + local * + x, \ + {:new, :var, :close#, close#: closeA}, \ + :num, :add#, :sub# \ + = 123, a.b.c, func! + +x.abc, a.b.# = 123, {} +func!.# = mt, extra +a, b.c.#, d, e = 1, mt, "abc" + +is_same = a.#.__index == a.index# + +-- +a.# = __index: tb +a.#.__index = tb +a.index# = tb +-- + +mt = a.# + +tb\func #list +tb\func#list +tb\func# list + +import "module" as :index#, newindex#:setFunc + +nil -- cgit v1.2.3-55-g6feb