首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lua脚本-脚本请求

Lua脚本-脚本请求
EN

Stack Overflow用户
提问于 2014-02-21 17:33:12
回答 4查看 830关注 0票数 0

有人能帮我写下面的剧本吗?

代码语言:javascript
复制
function fffFunction(nnn)

end

fffFunction("gor")
fffFunction("ggg")
fffFunction("lle")
fffFunction("trw")
fffFunction("int")
fffFunction("ctr")
fffFunction("gsv")
fffFunction("gmd")
fffFunction("kll")

完成脚本,并完成我想要的预期输出如下:

代码语言:javascript
复制
lle
ctr
kll

如果您不明白,请随时评论您想尝试的测试输入,我将运行它--唯一运行的函数是在第3、第6和第9行。

编辑:

我试过了

代码语言:javascript
复制
function fffFunction (nnn)
    print(nnn[3]) 
    print(nnn[6]) 
    print(nnn[9])
end

但预期的产出只是:零。然后我试着这么做:

代码语言:javascript
复制
function fffFunction (nnn)
    ff={nnn} 
    print(ff[3]) 
    print(ff[6]) 
    print(ff[9]) 
end

但是我得到了一些奇怪的数字和字母,比如:"table: foi0239023jr",以及其他我不想打印的函数。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-03-07 16:57:10

我想这就是你想要的:

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2014-02-21 18:30:30

请在协同线中查看以更好地理解代码。

ideia是跟踪函数调用之间的索引,所以,创建一个协同线!

代码语言:javascript
复制
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")
票数 0
EN

Stack Overflow用户

发布于 2014-02-21 20:13:07

您要调用函数9次,每次使用不同的字符串,因此nnn在每次调用fffFunction时都是不同的字符串。字符串不支持下标[]操作。在您的第一次尝试中,该函数将在每次调用它时打印3个nils (在不同的行上)。在第二次尝试中,您创建了一个由一个元素组成的表,即字符串。然后,ff3获取表的第三个元素,即零,因为没有。当您得到“表:奇怪的字符”输出时,可能会打印(Ff)。

如果以与列表相同的顺序调用,下面将产生所需的输出:

代码语言:javascript
复制
function fffFunction(nnn)
    if nnn == "lle" or nnn == "ctr" or nnn == "kll" then
        print(nnn)
    end
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21941242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档