有人可以帮助我使用以下脚本吗?
function fffFunction(nnn)
end
fffFunction("gor")
fffFunction("ggg")
fffFunction("lle")
fffFunction("trw")
fffFunction("int")
fffFunction("ctr")
fffFunction("gsv")
fffFunction("gmd")
fffFunction("kll")
完成脚本,预期输出我希望如下:
lle
ctr
kll
如果您不理解,请随意评论您想要尝试的测试输入,我将运行它唯一运行的功能是在3日,6日,和第9行。
编辑:
我试过
function fffFunction (nnn)
print(nnn[3])
print(nnn[6])
print(nnn[9])
end
但是预期的输出只是:nil nil nil nil nil nil nil nil nil。然后我试着这样做:
function fffFunction (nnn)
ff={nnn}
print(ff[3])
print(ff[6])
print(ff[9])
end
但是我得到了一些奇怪的数字和字母,例如:“table:foi0239023jr”,以及我想要打印的其他功能。
答案 0 :(得分:1)
我认为这就是你想要的:
data={}
function fffFunction(nnn)
table.insert(data,nnn)
end
function output()
for i=1,#data do
if (i==3 or i==6 or i==9) then
print(data[i])
end
end
end
fffFunction("gor")
fffFunction("ggg")
fffFunction("lle")
fffFunction("trw")
fffFunction("int")
fffFunction("ctr")
fffFunction("gsv")
fffFunction("gmd")
fffFunction("kll")
output()
答案 1 :(得分:0)
请查看coroutine以更好地理解代码。
ideia跟踪函数调用之间的索引,因此,创建一个协程!
co_counter = coroutine.create(function ()
local i = 0
while true do
i = i + 1
coroutine.yield(i)
end
end)
function fffFunction(nnn)
local _, count = coroutine.resume(co_counter)
if count % 3 == 0 then
print (nnn)
end
end
fffFunction("gor")
fffFunction("ggg")
fffFunction("lle")
fffFunction("trw")
fffFunction("int")
fffFunction("ctr")
fffFunction("gsv")
fffFunction("gmd")
fffFunction("kll")
答案 2 :(得分:0)
您正在调用该函数9次,每次使用不同的字符串,因此每次调用fffFunction时nnn都是不同的字符串。字符串不支持下标[]操作。在第一次尝试时,该函数每次调用时都会打印3个nils(在不同的行上)。在第二次尝试中,您创建了一个包含一个元素的表,即字符串。然后ff [3]获取表的第3个元素,因为没有,所以为零。当你得到“table:weird chars”输出时,你可能会打印(ff)。
如果您按照列出的顺序调用它,以下内容将生成您列出的所需输出:
function fffFunction(nnn)
if nnn == "lle" or nnn == "ctr" or nnn == "kll" then
print(nnn)
end
end
答案 3 :(得分:0)
if (this.id = "1")