我发现这个Lua代码:
function displayName(name)
name, _ = name:gsub("{", "\\{")
return name
end
再说一遍:
function parsePath(path)
if type(path) == "string" then path, _ = path:gsub("\\", "/") end
return path
end
我理解代码的作用。。我不明白的是,变量名和赋值部分(=)之间有一个逗号下划线。。所以这个{
有人能给我解释一下那件事的意思吗
是不是name = name:gsub(....)
还是..then path = path:gsub(...)
都一样
那么为什么脚本是这样写的呢
我不是Lua方面的专家,但这种模式在其他编程语言(如Python)中使用。下划线表示“不使用的变量”。如果函数返回一个包含两个元素的数组,则需要执行此操作,否则将得到整个数组
在许多编程语言中
_
用于表示未使用的变量这也适用于Lua。这是纯粹的风格惯例。你在Lua手册中找不到关于它的任何信息
luackeck是最常见的Lua静态代码分析器,它会为代码中存在未使用的变量提供警告。在这方面,它将忽略名为
_
的变量在您的示例中,这实际上是不必要的
在
name, _ = name:gsub("{", "\\{")
中有_
的唯一原因是给出一个提示,该函数实际上返回两个值。通常你会把_
放在一边然而,如果您只对第二个返回值感兴趣,那么
_, numReplaced = name:gsub("{", "\\{")
是有意义的。如果不添加第一个未使用的变量,则无法获得该值相关问题 更多 >
编程相关推荐