跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
关于计算器百科
资助计算器百科
联系计算器百科
聊天室
友情链接
计算器百科
搜索
搜索
外观
登录
个人工具
登录
查看“︁TI-Lua/流程控制”︁的源代码
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
页面信息
外观
移至侧栏
隐藏
←
TI-Lua/流程控制
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== 流程控制 == 本节将讨论 TI-Lua 中的流程控制,其中包括条件判断、循环与<del>无条件跳转</del>。 === 条件判断 === ==== 形式 ==== <code>if-else</code> 结构是基本的条件判断流程。其结构如下: <syntaxhighlight lang="lua"> if cond then -- executes when cond is true else -- executes when cond is false end </syntaxhighlight> 其中,<code>cond</code> 是一个[[TI-Lua/基本数据结构|布尔值]]。下同。 ==== 例子 ==== 输入: <syntaxhighlight lang="lua"> if 1 == 2 then print("Our math is broken!") else print("Everything is fine.") end </syntaxhighlight> 输出: <code>Everything is fine.</code> ''注: TI-Lua 已经在 3.1 之后的版本中去除了 print 函数(这个函数在机上可向串口输出数据,但是其实际功能是向标准输出中输出数据)。这里仅作示意用途。'' === 循环 === ==== 形式 ==== 循环体分为 <code>for</code> 循环、 <code>while</code> 循环和 <code>repeat-until</code> 循环。我们首先来讨论 <code>while</code> 循环。 ===== <code>while</code> 循环 ===== <code>while</code> 循环结构如下: <syntaxhighlight lang="lua"> while cond do -- something end </syntaxhighlight> 该循环会不断执行,直到 <code>cond</code> 为假。 ===== <code>repeat-until</code> 循环 ===== <code>repeat-until</code> 循环结构如下: <syntaxhighlight lang="lua"> repeat -- something until cond </syntaxhighlight> 该循环会不断执行,直到 <code>cond</code> 为真。 ===== <code>for</code> 循环 ===== <code>for</code> 循环具有两种形式。第一种是”步进型“,第二种是”遍历型“(即 <code>foreach</code>)。 <code>for</code> 循环结构如下: <syntaxhighlight lang="lua"> -- 步进型 for v = v_begin, v_end, v_step do -- something end </syntaxhighlight> 在此代码中, <code>v</code> 是一个自变量, <code>v_begin, v_end, v_step</code> 分别代表 <code>v</code> 的初始值、终止值与步长。 这种循环会不断执行,在执行过程中,<code>v</code> 的值会从 <code>v_begin</code> 以 <code>v_step</code> 的步长增长到 <code>v_end</code>, 然后结束。如果按照步长,<code>v</code> 在最后一步时会超过 <code>v_end</code>, <code>v</code> 的值仍会保留而不会再将 <code>v_end</code> 的值赋给 <code>v</code>. <syntaxhighlight lang="lua"> -- 遍历型 for v1, v2, ..., vn in a_list do -- something end </syntaxhighlight> 在此代码中, <code>v1, v2, ..., vn</code> 是有穷多个自变量。<code>a_list</code> 是一个列表或能够产生列表的表达式。在循环过程中,(产生的)列表中的项中的元素会按顺序赋给 <code>v1, v2, ..., vn</code>,直到每一个项按顺序访问过一遍。 需要注意到一个项中可以包含多个元素。这一点我们会在示例中说明。 ==== 例子 ==== 输入: <syntaxhighlight lang="lua"> local i, j, arr i = 0 j = 0 arr = {"Calculator", "Wiki"} -- while example print("While example:") while i < 5 do print(i) i = i+1 end -- repeat example print("Repeat example:") repeat print(j) j = j+1 until j >= 5 -- numeric for example print("Numeric for example:") for i, 0, 10, 3 do print(i) end -- generic for example print("Generic for example:") for i, j in ipairs(arr) do print(i, j) end </syntaxhighlight> 输出: <pre> While example: 0 1 2 3 4 Repeat example: 0 1 2 3 4 Numeric for example: 0 3 6 9 Generic for example 1 Calculator 2 Wiki </pre> === <del>跳转</del> === {{Info | color = yellow | text = 由于 TI-Lua 是 Lua 5.1 的实现,而 <code>goto</code> 指令于 Lua 5.2 才添加,因此该小节可能不具有实际意义。 }} {{TI-Lua}}
该页面嵌入的页面:
Template:Info
(
查看源代码
)
Template:Lan
(
查看源代码
)
Template:Navbar
(
查看源代码
)
Template:Navbox
(
查看源代码
)
Template:TI-Lua
(
查看源代码
)
Template:·
(
查看源代码
)
返回
TI-Lua/流程控制
。
搜索
搜索
查看“︁TI-Lua/流程控制”︁的源代码
添加话题