Lua 基本语法

来源:互联网 发布:淘宝平均停留时长 编辑:程序博客网 时间:2024/05/21 08:39

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  endendfor k,v in numIter(t,1) do  print(k,v)end

12. dofile loadfile load

  • dofile 加载一个外部的 lua文件并执行
  • loadfile 加载一个外部的 lua文件但是先不执行
  • load 从字符串创建 lua代码并执行
-- 这一段保存在 external.lua 文件中for i = 0, 10 do  print (i)endreturn 1000
-- 这一段是在 main.lua 中filepath = "/Workspace/learn/lua/external.lua"-- 这里会直接执行 external.luadofile(filepath) -- 加载external.lua但是不执行f = loadfile(filepath)-- f()调用的时候才会真正执行 external.luaf()-- 因为 external.lua有返回值,这里会执行并且打印出返回值print(f())g = load("print('I love you')") --从字符串创建代码g()
-- 这里看一个问题x = 10local x = 100function test_print_x()    x = x + 1    print(x)endtest_print_x() -- 这里会打印出101,这里用的是局部变量 xload_test_print_x = load("x = x + 1; print(x)")load_test_print_x() -- 这里会打印出11,这里用的是全局的 x,
0 0
原创粉丝点击