lua loadstring

loadstring 不会有边界效应产生,他仅仅编译 chunk 成为自己内部实现的一个匿名函数。通常对他的误解是他们定义了函数。Lua 中的函数定义是发生在运行时的赋值而不是发生在编译时

loadstring 函数功能强大,但使用时需多加小心.确认没有其它简单的解决问题的方法再使用

f = loadstring("i = i * 3")
i = 1
f()
print(i)

f = loadstring("local a = 10; return a + 20")
print(f())

3
30


loadstring 返回的函数和普通函数一样,可以多次被调用:
f = loadstring("i=i+1;return i")
local j = 0
i = 1
repeat
  print(f())
  j = j+1
until j>=2

2
3

猜你喜欢

转载自xiangjie88.iteye.com/blog/2341728
LUA