我正在查看这几行(稍作修改)来自 luadoc 的代码,它们显然在构建带有完整路径的文件名。但是我不明白第5行发生了什么。
参数 filename
可能是类似于 "myfile.lua" 的东西。
function out_file (filename)
local h = filename
h = string.gsub(h, "lua$", "tex")
h = string.gsub(h, "luadoc$", "tex")
h = options.output_dir .. string.gsub (h, "^.-([%w_]+%.tex)$", "%1")
return h
end
第5行发生了什么事情?
%
是模式中的转义字符,而\
是正则表达式中的转义字符;模式中没有交替等等。 - RBerteig