《Programming in Lua》中有一段使用虚变量的代码,一些新手不太了解含义,这里讲解一下。
一个典型的方法是使用虚变量(下划线)
local _, x = string.find(s, p)
-- now use 'x'
...
Lua的函数可以具有多个返回值,比如下面的示例代码:
print(string.find("example", "am")) --- 输出 3 4
string.find 默认情况下返回两个值,即查找到的子串的起止下标,如果不存在匹配返回 nil。如果我们只想要 string.find 返回的第二个值,可以使用虚变量(即下划线)来存储丢弃不需要的数值。
local _, s = string.find("example", "am")
print(s) ----- 输出 4
总结来说,用一些不太会用到的名字命名一个回收箱变量,然后把不需要的值都丢到里面去,这种做法被称作虚拟变量法。
ps:"_" 就是一个变量,打印下就应该理解了
print(_)