summaryrefslogtreecommitdiff
path: root/src/05-upvalue
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-01 14:35:21 +0800
committerchai <chaifix@163.com>2020-10-01 14:35:21 +0800
commitdc0e292e76a00fb43ad7fbdd6d65a560927ce981 (patch)
tree199b64a68eed6909733ab2b93cbe52c1e655f477 /src/05-upvalue
parent63cb4fbbb961da133c68865845eaf22d9b876700 (diff)
*gc
Diffstat (limited to 'src/05-upvalue')
-rw-r--r--src/05-upvalue/main.c19
-rw-r--r--src/05-upvalue/test.lua13
2 files changed, 32 insertions, 0 deletions
diff --git a/src/05-upvalue/main.c b/src/05-upvalue/main.c
new file mode 100644
index 0000000..697eb2c
--- /dev/null
+++ b/src/05-upvalue/main.c
@@ -0,0 +1,19 @@
+#include "../configure.h"
+#if BUILD_TEST == TEST_5
+
+int main(int args, char* argv[])
+{
+ lua_State* L = luaL_newstate();
+
+ luaL_openlibs(L);
+
+ luaL_dofile(L, "05-upvalue/test.lua");
+
+ lua_close(L);
+
+ getchar();
+
+ return 0;
+}
+
+#endif \ No newline at end of file
diff --git a/src/05-upvalue/test.lua b/src/05-upvalue/test.lua
new file mode 100644
index 0000000..88c05de
--- /dev/null
+++ b/src/05-upvalue/test.lua
@@ -0,0 +1,13 @@
+
+function foo()
+ local c = 10;
+ return function()
+ return c + 1
+ end
+end
+
+collectgarbage("collect")
+
+local f = foo()
+
+f()