debug.setlocal 
指定した関数のローカル変数の値を設定する
lua
debug.setlocal ([thread,] level, local, value)説明 
指定したスタックレベルlevelにある関数のローカル変数localに値valueを設定します。
サンプルコード 
lua
local function test()
  local x = 10
  debug.setlocal(1, 1, 20)
  print(x)  -- 20が表示される
end
test()この例では、ローカル変数xの値が変更されて表示されます。
LuaJIT独自の拡張 
- メタメソッドを識別する。
- 可変引数に対して負のインデックスを受け入れる。(Lua5.2から)
互換性 
- Lua 5.1
- LuaJIT