luna-core 2.10.0

Pure-Rust Lua runtime (interpreter only, zero third-party dependencies). The JIT-equipped variant lives in the `luna-jit` crate.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-- v2.10 CORPUS: coroutine.wrap.
local gen = coroutine.wrap(function()
  for i = 1, 3 do coroutine.yield(i * 10) end
end)
print(gen())  -- 10
print(gen())  -- 20
print(gen())  -- 30

-- generator idiom
local function range(n)
  return coroutine.wrap(function()
    for i = 1, n do coroutine.yield(i) end
  end)
end
local sum = 0
for v in range(5) do sum = sum + v end
print(sum)  -- 15