Lua分号公约有哪些具体应用场景?
- 内容介绍
- 文章标签
- 相关推荐
本文共计641个文字,预计阅读时间需要3分钟。
Lua中没有使用分号的语法规则。在Lua中,每个语句后面通常不需要分号。分号在Lua中主要用于分隔多个语句,例如在for循环的初始化、条件、迭代部分中。在编程背景中,使用分号结束语句并不是直接观察到的规范,而是为了提高代码的可读性和维护性。分号的存在主要是为了在需要时,如在一个代码块中包含多个独立的语句时,可以清晰地分隔它们。例如:
luafor i=1, 10 do print(i)end
在这个例子中,分号用于分隔`print(i)`语句,使得代码块中的多个语句清晰可见。如果不使用分号,代码仍然可以正确执行,但可读性会降低:
luafor i=1, 10 print(i)end
因此,是否使用分号取决于个人或团队的编码风格偏好。
我想知道在Lua中是否有使用分号的一般惯例,如果是,我们应该在哪里/为什么要使用它们?我来自编程背景,所以用分号结束语句似乎是直观正确的.然而,我担心为什么它们是普遍接受的分号在其他编程语言中的“可选择”.也许有一些好处吗?例如:从lua programming guide开始,这些都是可以接受的,等同的和语法准确的:
a = 1 b = a*2 a = 1; b = a*2; a = 1 ; b = a*2 a = 1 b = a*2 -- ugly, but valid
作者还提到:通常,我只使用分号来分隔两行或更多语句,写在同一行,但这只是一个惯例.
这是卢卡社区普遍接受的还是还有另外一种最喜欢的方式?还是像我个人喜好一样简单?
Lua中的分号一般只在一行中写多条语句时才需要.例如:
local a,b=1,2; print(a+b)
或者写成:
local a,b=1,2 print(a+b)
在我头顶,我不记得在Lua的任何其他时间,我不得不使用分号.
编辑:查看lua 5.2参考我看到另一个常见的地方,你需要使用分号避免歧义 – 你有一个简单的语句后跟一个函数调用或括号来组合一个复合语句.这里是位于here的手动示例:
Function calls and assignments can start with an open parenthesis. This possibility leads to an ambiguity in the Lua grammar. Consider the following fragment: a = b + c (print or io.write)('done') The grammar could see it in two ways: a = b + c(print or io.write)('done') a = b + c; (print or io.write)('done')
本文共计641个文字,预计阅读时间需要3分钟。
Lua中没有使用分号的语法规则。在Lua中,每个语句后面通常不需要分号。分号在Lua中主要用于分隔多个语句,例如在for循环的初始化、条件、迭代部分中。在编程背景中,使用分号结束语句并不是直接观察到的规范,而是为了提高代码的可读性和维护性。分号的存在主要是为了在需要时,如在一个代码块中包含多个独立的语句时,可以清晰地分隔它们。例如:
luafor i=1, 10 do print(i)end
在这个例子中,分号用于分隔`print(i)`语句,使得代码块中的多个语句清晰可见。如果不使用分号,代码仍然可以正确执行,但可读性会降低:
luafor i=1, 10 print(i)end
因此,是否使用分号取决于个人或团队的编码风格偏好。
我想知道在Lua中是否有使用分号的一般惯例,如果是,我们应该在哪里/为什么要使用它们?我来自编程背景,所以用分号结束语句似乎是直观正确的.然而,我担心为什么它们是普遍接受的分号在其他编程语言中的“可选择”.也许有一些好处吗?例如:从lua programming guide开始,这些都是可以接受的,等同的和语法准确的:
a = 1 b = a*2 a = 1; b = a*2; a = 1 ; b = a*2 a = 1 b = a*2 -- ugly, but valid
作者还提到:通常,我只使用分号来分隔两行或更多语句,写在同一行,但这只是一个惯例.
这是卢卡社区普遍接受的还是还有另外一种最喜欢的方式?还是像我个人喜好一样简单?
Lua中的分号一般只在一行中写多条语句时才需要.例如:
local a,b=1,2; print(a+b)
或者写成:
local a,b=1,2 print(a+b)
在我头顶,我不记得在Lua的任何其他时间,我不得不使用分号.
编辑:查看lua 5.2参考我看到另一个常见的地方,你需要使用分号避免歧义 – 你有一个简单的语句后跟一个函数调用或括号来组合一个复合语句.这里是位于here的手动示例:
Function calls and assignments can start with an open parenthesis. This possibility leads to an ambiguity in the Lua grammar. Consider the following fragment: a = b + c (print or io.write)('done') The grammar could see it in two ways: a = b + c(print or io.write)('done') a = b + c; (print or io.write)('done')

