gpt4 book ai didi

Lua一行不止一个本地人

转载 作者:行者123 更新时间:2023-12-04 20:37:39 25 4
gpt4 key购买 nike

假设我们有以下代码:

local x = 1
local x, y = 2, 3

我知道 x 在第二行之后会变成 2,但是,那一行的本地是创建一个新的 x,还是使用之前的那个?

最佳答案

它们将是两个不同的本地值:第一个将被隐藏且不可访问,因为第二个是在同一 block 中以相同名称创建的。以下是 luac -l -l (Lua 5.3) 为该脚本显示的信息:

main <local.lua:0,0> (4 instructions at 00697ae8)
0+ params, 3 slots, 1 upvalue, 3 locals, 3 constants, 0 functions
1 [1] LOADK 0 -1 ; 1
2 [2] LOADK 1 -2 ; 2
3 [2] LOADK 2 -3 ; 3
4 [2] RETURN 0 1
constants (3) for 00697ae8:
1 1
2 2
3 3
locals (3) for 00697ae8:
0 x 2 5
1 x 4 5
2 y 4 5
upvalues (1) for 00697ae8:
0 _ENV 1 0

locals 部分显示了三个变量,其中两个 x 具有相同的范围结束位置。

关于Lua一行不止一个本地人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42450568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com