【问题标题】:What does a "for i, v" loop do?“for i, v”循环有什么作用?
【发布时间】:2021-02-28 03:24:05
【问题描述】:

我明白,“for i, v”循环用于表,i 是索引,v 是值,但是这个脚本是做什么的?我不认为这与表有任何关系,但我在 ROBLOX 脚本中知道的唯一类型的表循环是我提到的第一个; "for i, v" 循环,循环遍历表。

randomVariable = 1
for i = 1, randomVariable do
(random script)
end

【问题讨论】:

  • 循环用于不止一次。如果您从一开始并以一结束,那么您正在编写不需要的额外步骤。你的 randomVariable 必须大于一,否则这不会是一个循环。

标签: lua roblox


【解决方案1】:

这是一个数字循环语句。

for controlValue = startValue, endValue, stepValue do
    -- for body
end

它从startValueendValue,在运行body 代码后,controlValue 增加了stepValue。如果controlValue 大于或等于endValue,则循环停止。如果没有提供stepValue,则等于1

相当于这段代码:

local controlValue = startValue
if not stepValue then stepValue = 1 end -- if no stepValue it equals to 1

while controlValue < endValue do
    -- for body
    controlValue = controlValue + stepValue
end

【讨论】:

  • 我知道我不应该评论谢谢,但我不在乎;谢谢。我听说过这些类型的循环,但我不理解这种情况下的循环,再次感谢。
  • @234fsdafwef 它们用于多次重复代码。它可以是从 1 到 10。或从 100 到 -1000。取决于你的需要。
  • @234fsdafwef 如果您发现有帮助的答案,请务必给它一个赞成票。您还可以将每个问题的一个答案标记为“已接受”。更多关于这个here。此外,正如您所提到的,不鼓励“谢谢”cmets。
【解决方案2】:

在 Lua 中有几种不同的循环方式。

while variable &lt; number do

repeat stuff until variable == number

for key, value in pairs do

for index, value in ipairs do

for i = 1, number do

i = 1 是初始条件。

它通常从一个开始,然后循环遍历表中的项目。

因此,您可以将其视为这方面的索引。 你提到的randomVariable#tab


但是,您可以将初始条件设置得更大,然后倒计时。

for i = #tab, 1, -1 do

第三个可选参数称为“步长”
它是完成每个循环后初始条件更改的量。它默认为 1,因此大多数时候不需要。

所以要遍历表中的所有偶数

for i = 2, #tab, 2 do

延伸阅读:https://www.tutorialspoint.com/lua/lua_loops.htm

【讨论】:

  • i,初始条件,通常从 1 开始。这并不难理解。它实际上包含在一个边界内,它怎么可能是其他东西?
猜你喜欢
  • 1970-01-01
  • 2011-01-19
  • 2011-06-14
  • 1970-01-01
  • 1970-01-01
  • 2011-05-20
  • 2017-05-17
相关资源
最近更新 更多