我有以下類型的代碼,我用6-7倍,在同一個文件:創建Lua函數,以避免重複的代碼在同一個文件
str=(line):match("constraints(.*)end")
for split in string_gsplit(str, '\n', true) do
if
string.match(split,'%a+')
then
a=(split):match("(.-)%s")
a=null_value(a)
b=(split):match("tx=(%a+)")
b=null_value(b)
c=(split):match("ty=(%a+)")
c=null_value(c)
d=(split):match("tz=(%a+)")
d=null_value(d)
e=(split):match("rx=(%a+)")
e=null_value(e)
f=(split):match("ry=(%a+)")
f=null_value(f)
g=(split):match("rz=(%a+)")
g=null_value(g)
print(a..b..c..d..e..f..g)
end
end
爲了避免重複,我想使用的功能在這。這樣我只能調用該函數並獲得打印結果。 由於參數在每個匹配函數中都不相同。 用雙引號(「abc」)給出的字符串是不同的,不能相同。 請幫我創建一個函數。
我嘗試過創建它。看一看:
function f(s)
assert(type(s) == "string")
str=(line):match(s)
for split in string_gsplit(str, '\n', true) do
if
string.match(split,'%a+')
then
end
end
return s
end
調用相同的功能,I型:
s="constraints(.*)end"
f(s)
如果你想保持清晰(對於我們和你自己),你應該真的開始縮進你的代碼。看看[Lua風格指南](http://lua-users.org/wiki/LuaStyleGuide)。 – jpjacobs
也給你的變量和函數有意義的名字。稱它們爲a,b,c和f會讓你的代碼非常模糊。給他們打電話說明他們包含的內容,比如姓氏,名稱和地址。 – kikito