3

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

if x == 1 do
    print(x)
end

和可读性一样

if x == 1 then
    print(x)
end
4

3 回答 3

5

作者说“我们明确地将 Lua 设计为具有简单、熟悉的语法”,并且“if-then”组合通常在许多其他常用编程语言中众所周知(考虑到 Lua 的设计时间大约是 20 年)以前,想想 Basic 或 Pascal)。

于 2013-09-16T21:55:58.850 回答
1

这看起来是个好主意,但恕我直言,这不是因为其他选择。

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

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-17T08:11:43.400 回答
0

从数学的角度来看(因为编程是基于数学的)“如果”采用“如果 a 为真,则 b 为真,否则 c 为真”的形式。就数学版本而言,虽然不能轻松地将其移植到编程中,因此对其进行了重新设计以适应环境,因此更适合编程“做”。

于 2016-05-28T04:55:52.630 回答