代码倒数第二行,定义了一个用 local 修饰的 虚变量(即 单个下划线)。使用这个虚变量接收 string.find() 第一个返回值,忽略不用,直接使用第二个返回值。
虚变量不仅仅可以被用在返回值,还可以用在迭代等。
在for循环中的使用:
-- test.lua 文件
local t = {1, 3, 5}
print("all data:")
for i,v in ipairs(t) do
print(i,v)
end
print("")
print("part data:")
for _,v in ipairs(t) do
print(v)
end
执行结果:
# luajit test.lua
all data:
1 1
2 3
3 5
part data:
1
3
5
当有多个返回值需要忽略时,可以重复使用同一个虚变量:
多个占位:
-- test.lua 文件
function foo()
return 1, 2, 3, 4
end
local _, _, bar = foo(); -- 我们只需要第三个
print(bar)