> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectreal.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# setupvalue

> Replaces one upvalue in a Lua function or stack level by one-based index. Invalid stack levels raise "Level out of range", non-Lua functions raise "Lua function expected", indexes below 1 raise "Upvalue index starts at 1", and indexes past the available upvalues raise "Upvalue index is out of range". debug.setupvalue is an alias.

<div className="real-function-page">
  ```lua theme={null}
  setupvalue(target: function | number, index: number, value: any)
  ```

  ## Aliaslar

  * `debug.setupvalue`

  ## Argümanlar

  <ParamField path={"target"} type={"function | number"} required>
    Lua function or stack level whose upvalue is modified.
  </ParamField>

  <ParamField path={"index"} type={"number"} required>
    One-based upvalue index.
  </ParamField>

  <ParamField path={"value"} type={"any"} required>
    New value for the upvalue.
  </ParamField>

  ## Örnek

  Replace one upvalue in a Lua closure or stack level.

  ```lua theme={null}
  local captured = "before"

  local function target()
      return captured
  end

  print(target())

  setupvalue(target, 1, "after")
  print(target())

  debug.setupvalue(target, 1, "done")
  print(target())
  ```
</div>
