Lua 基本语法
发布时间:2020-12-14 21:55:14 所属栏目:大数据 来源:网络整理
导读:11. 创建一个迭代器 t = { 1 , 2 , 3 , 4 , 5 } function numIter (t,start) i = start return function () i = i + 1 if t[i - 1 ] then return i - 1 ,t[i - 1 ] else return nil end end end for k,v in numIter(t, 1 ) do print (k,v) end 12. dofile lo
11. 创建一个迭代器t = {1,2,3,4,5}
function numIter(t,start)
i = start
return function()
i = i + 1
if t[i - 1] then
return i - 1,t[i - 1]
else
return nil
end
end
end
for k,v in numIter(t,1) do
print(k,v)
end
12. dofile loadfile load
-- 这一段保存在 external.lua 文件中
for i = 0,10 do
print (i)
end
return 1000
-- 这一段是在 main.lua 中
filepath = "/Workspace/learn/lua/external.lua"
-- 这里会直接执行 external.lua
dofile(filepath)
-- 加载external.lua但是不执行
f = loadfile(filepath)
-- f()调用的时候才会真正执行 external.lua
f()
-- 因为 external.lua有返回值,这里会执行并且打印出返回值
print(f())
g = load("print('I love you')") --从字符串创建代码
g()
-- 这里看一个问题
x = 10
local x = 100
function test_print_x()
x = x + 1
print(x)
end
test_print_x() -- 这里会打印出101,这里用的是局部变量 x
load_test_print_x = load("x = x + 1; print(x)")
load_test_print_x() -- 这里会打印出11,这里用的是全局的 x,
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |