github.com/hirochachacha/plua@v0.0.0-20170217012138-c82f520cc725/stdlib/debug/testdata/setupvalue.lua (about)

     1  local a,b,c = 1,2,3
     2  local function foo(a) b = a; return c end
     3  assert(debug.setupvalue(foo, 0, 1) == nil)
     4  k = debug.setupvalue(foo, 1, 3)
     5  assert(k == "b")
     6  k, v = debug.getupvalue(foo, 1)
     7  assert(k == "b" and v == 3)
     8  k = debug.setupvalue(foo, 2, 4)
     9  assert(k == "c")
    10  k, v = debug.getupvalue(foo, 2)
    11  assert(k == "c" and v == 4)
    12  assert(debug.getupvalue(foo, 3, 4) == nil)