这两个LUA脚本有什么区别?

local times=0
function rTA(v)
  times=times+1
  if times % 3 <= 0 then
        print(v)
    end
end

本段代码定义了一个函数 rTA,用于接受一个参数 v。此外,还定义了一个变量 times,用于记录调用 rTA 的次数,初始值为0。

当函数执行时,先将 times 加一,再判断 times % 3 是否等于0。如果是,则输出 v

local times=0
function rTA(v)
  times=times+1
  if times == 3 then
        print(v)
        times=0
    end
end

rTA("N1")
rTA("N2")
rTA("N3")
rTA("N4")
rTA("N5")
rTA("N6")
rTA("N7")
rTA("N8")
rTA("N9")

本段代码同样定义了一个函数 rTA,用于接受一个参数 v。此外,还定义了一个变量 times,用于记录调用 rTA 的次数,初始值为0。

后面依次调用 rTA 函数,并传入不同的参数。每调用一次 rTAtimes 的值+1,当 times 值已经等于3时,输出 v 并将 times 重置为0。

最后,本段代码会输出:N3N6N9

点赞
用户754147
用户754147

如上所述,两种方法都是检查“times”是否是3的倍数,尽管第一种版本在编写上更加简洁,但在处理方面的成本更高。第二种方法在意义上稍微不太易读(虽然你可以理解它是在尝试检查3的倍数,但这不是一眼就能看出来的,你需要花一点时间思考)。

干杯!

2014-02-14 09:29:54