返回介绍

2.4.4 - 控制结构

发布于 2019-08-25 13:16:33 字数 1125 浏览 1277 评论 0 收藏 0

ifwhile、以及 repeat 这些控制结构符合通常的意义,而且也有类似的语法:

	stat ::= while exp do block end
	stat ::= repeat block until exp
	stat ::= if exp then block {elseif exp then block} [else block] end

Lua 也有一个 for 语句,它有两种形式(参见 §2.4.5)。

控制结构中的条件表达式可以返回任何值。 falsenil 两者都被认为是假条件。 所有不同于 nilfalse 的其它值都被认为是真 (特别需要注意的是,数字 0 和空字符串也被认为是真)。

repeatuntil 循环中, 内部语句块的结束点不是在 until 这个关键字处, 它还包括了其后的条件表达式。 因此,条件表达式中可以使用循环内部语句块中的定义的局部变量。

return 被用于从函数或是 chunk(其实它就是一个函数)中 返回值。 函数和 chunk 可以返回不只一个值, 所以 return 的语法为

	stat ::= return [explist1]

break 被用来结束 whilerepeat、或 for 循环, 它将忽略掉循环中下面的语句段的运行:

	stat ::= break

break 跳出最内层的循环。

returnbreak 只能被写在一个语句块的最后一句。 如果你真的需要从语句块的中间 return 或是 break , 你可以使用显式的声名一个内部语句块。 一般写作 do return end 或是 do break end, 可以这样写是因为现在 returnbreak 都成了一个语句块的最后一句了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文