Lua for 循环减少 i?奇怪的行为[重复]

2023-12-14

有人可以向我解释一下吗?

for i = 1, 5 do
  print(i)
  i = i - 1
  print(i)
end

输出是:

1
0
2
1
3
2
and so forth

我预计 i 会在 1 和 0 之间变化。但显然它不断增加,就好像我根本没有改变它一样。这是怎么回事?

我必须时不时地删除第 i 个表元素。所以下一个要处理的元素将再次是 i 。在 C 中,我只需在循环内容的末尾编写 --i 即可。 lua有什么官方的方法吗? :)


循环索引 (i在您的情况下)是循环体的本地变量,因此您对它所做的任何修改都不会影响循环条件或正在处理的下一个元素(对于for loop).

如果您需要更好地控制索引以删除元素并继续处理,您应该使用while循环形式。看对于声明部分了解详细信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Lua for 循环减少 i?奇怪的行为[重复] 的相关文章

  • 如何在 C 中的 for (;;) 循环中声明多个变量?

    我认为可以在一个变量中声明多个变量for loop for int i 0 char ptr bam i lt 10 i 但我刚刚发现这是不可能的 GCC 给出以下错误 错误 char 之前应有不合格的 id 你真的不能在一个变量中声明不同
  • Kong - 验证上游 ssl(ssl_proxy 打开)

    我已经成功为 API 安装了 kong 网关 该 API 通过上游负载平衡到多个目标 应用程序服务器 现在 我有一个我的应用程序服务器的自签名证书 kong 和目标之间的 ssl 握手应该失败 我推断 kong 不验证上游证书 经过一些研究
  • 如何循环用户输入直到输入整数?

    我想运行一个交互式程序 提示用户输入学生人数 如果用户输入除整数之外的字母或其他字符 则应再次询问他们 输入学生人数 我有以下代码 public int createArrays Scanner s int size System out
  • Javascript 闭包问题

    所以 我仍在阅读 Apress Pro Javascript 技术 但我在闭包方面遇到了麻烦 正如约翰 雷西格所说 闭包允许您引用父函数中存在的变量 然而 它在创建变量时并不提供变量的值 它提供父函数中变量的最后一个值 这是最常见的问题 您
  • Lua中如何在另一个表的表成员中搜索

    我正在编写一个 lua 程序 它有一个表 该表是另一个表的成员 当我向该成员表添加新日期时 一切正常 但是 当我想在该表中搜索时 无论我给出什么键 我总是会将最后一行添加到表中 如何在该成员表中正确搜索 Stream name functi
  • Python for 循环中的多个循环控制变量

    我遇到了一种情况 我需要实现具有多个循环控制变量的 for 循环 基本上这就是我想做的 Java for int i 0 j n i
  • lua中的权限问题

    是否需要在 corona build settings 中设置一些特定权限才能将高分永久保存在文件中 每次运行代码时都会出现 权限被拒绝 的错误 如何纠正这个错误 这是我尝试过的代码 function read score local f1
  • 如何避免javascript中for循环内的for循环

    我已经编写了一段运行良好的代码 我想要一个新数组 其中包含 myArr 中的元素 按照 orderArr 中指定的顺序 但是 它在另一个 for 循环中使用 for 循环来匹配数组元素 var myArr a b c d e var ord
  • 检查多个位置的值并仅在源唯一时返回匹配项

    假设我有一个清单Vendors 阿斯达 乐购 Spar 我有一个清单Sources 或者这个类比中的供应商 家乐氏 Kellogg 吉百利 Cadbury 雀巢 Nestle 强生 Johnsons 帮宝适 Pampers Simple 等
  • 比较 Lua 中的日期

    我有一个带有日期表的变量 如下所示 table day number 15 year number 2015 month number 2 如何获取当前日期与上述日期之间的天数 非常感谢 您可以使用os time 将表转换为秒并获取当前时间
  • C 中“for”循环中的两个变量

    我正在编写一些代码 需要在其中使用两个变量for环形 下面的代码看起来没问题吗 它确实给了我预期的结果 for loop 1 offset loop 2 offset 2 loop 1 gt offset 190 loop 2 lt 190
  • 如何在我的 Lua 脚本中添加“睡眠”或“等待”?

    我正在尝试通过更改一天中的时间来为游戏制作一个简单的脚本 但我想快速完成 这就是我要说的 function disco hour minute setTime 1 0 SLEEP setTime 2 0 SLEEP setTime 3 0
  • Lua 访问表的键和值

    我想在关卡编辑器中读取 Lua 文件 这样我就可以以可视化格式显示其数据供用户编辑 如果我有一个像这样的 Lua 表 properties Speed 10 TurnSpeed 5 Speed显然是关键并且10价值 我知道如果我知道像这样的
  • 在matlab中不使用for循环检查数组中的成员资格

    我想简化这段代码 使其无需 for 循环即可工作 for i 1 N for j 1 N if ismember j A PID i i TFP i j PID i i end end end 其中A是一个包含一些标签的矩阵 我之前存储的T
  • 使用无符号整数时循环条件停止于 0?

    我有一个必须从 N 到 0 含 的循环 我的i变量的类型size t通常是无符号的 我目前正在使用以下代码 for size t i N i size t 1 i 那是对的吗 有没有更好的方法来处理这种情况 Thanks Vincent 是
  • 嵌套循环结果

    我真的不知道如何找出嵌套循环的结果 例如 在下面的伪代码中 我无法弄清楚执行结束时会给出什么 如果有人给我一个简单的解决方案 我会很高兴 r lt 0 for i lt 1 to n do for j lt 1 to i do for k
  • 推送 Lua 表

    我已经创建了一个Lua表C 但我不知道如何将该表推入堆栈顶部 以便我可以将其传递给 Lua 函数 有谁知道如何做到这一点 这是我当前的代码 lua createtable state libraries size 0 int table i
  • 为什么允许在 for 循环中使用列表订阅? [复制]

    这个问题在这里已经有答案了 Python 如何接受以下构造 l 1 2 3 4 for i l i in enumerate l print l i 似乎没有任何抱怨 愉快地打印出来1 2 3 4 这是如何被允许的以及它到底有什么作用 Th
  • 当前一个值也在 apply 中计算时,Pandas 有没有办法使用 dataframe.apply 中的前一行值?

    我有以下数据框 Index Date A B C D 2015 01 31 10 10 Nan 10 2015 02 01 2 3 Nan 22 2015 02 02 10 60 Nan 280 2015 02 03 10 100 Nan
  • Lua 上的 For 循环

    我的作业是如何执行 for 循环 我已经从数字上弄清楚了 但无法从名称上弄清楚 我想创建一个 for 循环来运行名称列表 以下是我到目前为止所拥有的 names John Joe Steve for names 1 3 do print n

随机推荐

  • 使用 Swig/Python 在 C 中传递多个参数并分配字符串

    我使用 SWIG 包装以下 C 接口以从 Python 访问它 void some method char output int paramA const char paramB int paramC C 中的实现在运行时使用 malloc
  • 无法在 Formik onSubmit 中设置错误

    我这几天遇到了一些问题 我在 Formik 表单的 onSubmit 方法中设置的每个错误都没有添加到错误属性中 我的具体问题是关于 GraphQL API 返回的后端错误 我的表格很长 所以我不会发布所有代码 但相关代码如下 这是我的表格
  • mysql 翻译表缺少语言回退

    我有一个这样的数据库结构 国家 CREATE TABLE IF NOT EXISTS countries id int 11 NOT NULL AUTO INCREMENT code varchar 2 COLLATE utf8 unico
  • Android Assets 文件夹中的 Mp3 音频无法从签名且 zip 对齐的 APK 中播放

    我正在加载 mp3 文件以在基于 AndEngine 的 Android 游戏中玩 当我将游戏打包为 APK 时 资产文件夹中的 mp3 音频会抛出错误 无法作为文件描述符打开 它可能已被压缩 但是 当我使用 Eclipse MOTODEV
  • 如何使侧边栏与内容div的高度相同?

    代码如下 CSS container border 1px dashed 000 overflow hidden content sidebar float left width 50 content background yellow s
  • 处理传单地图中的ajax请求

    我有一个非常基本的传单地图 使用leaflet panel layers创建一个漂亮的图层控件 我有两个函数来创建图层和叠加层 我的数据位于外部 geoJSON 文件中 这似乎是我的问题 因为传单不提供任何获取外部 geoJSON 的内容
  • 如何选择SQL数据库表中的第n行?

    我有兴趣学习一些 理想情况下 与数据库无关的选择方法n数据库表中的第行 了解如何使用以下数据库的本机功能来实现这一点也很有趣 SQL服务器 MySQL PostgreSQL SQLite Oracle 我目前正在 SQL Server 20
  • 如何使用 float/double 的模数?

    我正在为学校项目创建 RPN 计算器 但在使用模数运算符时遇到了问题 由于我们使用的是双精度数据类型 因此模数不适用于浮点数 例如 0 5 0 3 应该返回 0 2 但我遇到了被零除的异常 指令说要使用fmod 我到处寻找fmod 包括ja
  • 在显示上下文菜单之前右键单击选择 TreeView 节点

    我想在显示 ContextMenu 之前右键单击选择一个 WPF TreeView 节点 对于 WinForms 我可以使用这样的代码查找在上下文菜单下单击的节点 WPF 替代品有哪些 根据树的填充方式 发件人和 e Source 值可能会
  • 从室内自行车数据特征解码蓝牙数据

    我正在尝试使用健身机器服务 室内自行车数据特征来获取节奏数据 通过使用 nRF Connect Android 应用程序 我可以看到数据就在那里 示例数据 inst speed 8 5km h inst cadence 45 0 per m
  • 比较效率

    一般情况下什么比较快 if num gt 10 or if num lt 10 编译器很可能会优化这类事情 不用担心 在这种情况下只需编写代码以保持清晰即可 汇编语言通常有以下操作 gt and lt 步数与 lt and gt 例如 用摩
  • iPad 视网膜图像 - 为什么使用两种不同的图像尺寸?

    对于 iPad Retina 或 iPhone Retina 为什么我们需要有两种类型的图像尺寸并为 Retina 版本添加 2x 之类的后缀 难道我们不能只有一种类型的视网膜分辨率图像 而对于没有视网膜显示屏的设备 让设备处理将图像调整为
  • .Net Treeview 事件处理

    我正在将 VB6 应用程序迁移到 Net 我们必须始终提供类似的功能 一种形式是带有复选框的树视图 该复选框具有三级节点 第一级仅用于对下一级进行分组 并且它们不可检查 第二级节点可由用户检查 并且当检查或取消检查时 其所有子节点都会效仿
  • Protobuf-net - 序列化 .NET GUID - 如何在 C++ 中读取它?

    我在 NET 应用程序中使用 Protobuf net 相对轻松地序列化了一个对象 我还使用 GetProto 命令获取 protobuf net 生成的 proto 文件 在 NET 生成的 proto 文件中 我的 GUID 字段的类型
  • 本地 Blazegraph 上的 Wikidata :此处预期有 RDF 值,发现“”[第 1 行]

    我们 Thomas 和 Wolfgang 已按照此处的说明在本地安装了 wikidata 和 blazegraph https github com wikimedia wikidata query rdf blob master docs
  • 通过 ADFS(Active Directory 联合身份验证服务)对用户进行身份验证

    我需要检查特定用户是否存在于 Active Directory 中ADFS 所以 我想要我的ADFS to check user Authentication 通过用户名 密码 任何人都可以提供示例代码或教程吗 提前致谢 要使用用户名 密码
  • 加载 Webchat 控件后立即从机器人发送问候/欢迎消息

    我正在使用 Microsoft 的 C Bot 框架开发一个机器人 我试图在用户发送任何内容之前向他 她发送欢迎消息作为介绍 经过研究 我使用了一些实现这一点HandleSystemMessage功能并在以下情况下发送消息Conversat
  • 如何为 Android 应用程序创建类似“脉冲”的 UI

    I would like to know how can I create a Pulse like app on android Here is a screenshot 有很多事情 它有许多 水平内容行 每 行 都有内容的 单元格 我可
  • GKE 上的集群更新后容器日志不起作用

    最近 我对集群进行了升级 该集群运行多个用 Java 编写的微服务容器 使用默认的 Spring Boot 的 log4j2 默认配置 从那时起 容器日志不再更新 这kubectl 日志命令工作正常 可以使用此命令查看所有最近的日志 但应该
  • Lua for 循环减少 i?奇怪的行为[重复]

    这个问题在这里已经有答案了 有人可以向我解释一下吗 for i 1 5 do print i i i 1 print i end 输出是 1 0 2 1 3 2 and so forth 我预计 i 会在 1 和 0 之间变化 但显然它不断