为什么Lua中存在“then”关键字,而“do”关键字本可以被重新利用?

为什么关键字 "then" 和 "do" 都存在?

if x == 1 do
    print(x)
end

与以下代码同样易读:

if x == 1 then
    print(x)
end
点赞
用户1692213
用户1692213

作者表示,“我们明确地设计了 Lua 具有简单、熟悉的语法”,而“if-then”组合在许多其他常用编程语言中通常非常知名(考虑到 Lua 是大约 20 年前设计的,可以考虑 Basic 或 Pascal )。

作者表示,“我们明确地设计了 Lua 具有简单、熟悉的语法”,而“if-then”组合在许多其他常用编程语言中通常非常知名(考虑到 Lua 是大约 20 年前设计的,可以考虑 Basic 或 Pascal )。
2013-09-16 21:55:58
用户204011
用户204011

这看起来是一个好主意,但我认为这不是最好的选择。

我的意思是,这段代码会变成什么样子呢?

if a == 1 then
  do_stuff()
else
  do_something_else()
end

为了保持连贯性,你可能需要像这样的代码,但我认为这不比现状更好:

if a == 1 do
  do_stuff()
else do
  do_something_else()
end
2013-09-17 08:11:43
用户5590757
用户5590757

从数学角度来看(因为编程是基于数学的),"if"的形式为"如果a为真,则b为真,否则c为真"。就"while"而言,数学版本不容易转移到编程中,因此被重新改编以适应环境,因此更适合编程的版本为"do"。

2016-05-28 04:55:52