为什么"然后"关键字存在于Lua中" do"可以重复使用?

时间:2013-09-16 21:52:45

标签: lua

为什么两个关键词“then”和“do”都存在?

if x == 1 do
    print(x)
end

一样可读
if x == 1 then
    print(x)
end

3 个答案:

答案 0 :(得分:5)

作者说“我们明确地设计Lua有一个简单,熟悉的语法”,并且“if-then”组合通常在许多其他常用的编程语言中是众所周知的(考虑到Lua是设计的东西)像20年前一样,想想Basic或Pascal)。

答案 1 :(得分:1)

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

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

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

为了保持连贯,你可能需要这样的东西,我认为这不比现状好:

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

答案 2 :(得分:0)

从数学的角度来看(因为编程基于数学)"如果"采用形式"如果a为真则b为真,否则c为真"。虽然数学版本不能轻易地移植到编程中,所以它被重新设计以适应环境,因此编程更合适"做"。