当前位置 : 主页 > 网络编程 > lua >

function – 我不明白的Lua语法片段

来源:互联网 收集:自由互联 发布时间:2021-06-23
我正在使用基于Lua的产品,我正在使用他们的API,并且在那里有一些我不理解的语法. 这是什么? 它是Add的函数调用,如果是,那么输入参数是什么 – 没有将该表分配给变量输入 – 没有等
我正在使用基于Lua的产品,我正在使用他们的API,并且在那里有一些我不理解的语法.

这是什么?
它是Add的函数调用,如果是,那么输入参数是什么 – 没有将该表分配给变量输入 – 没有等号?

它是Add的函数定义 – 看起来很奇怪,没有任何实现并指定输入表中的内容?

添加包含表格的表格?我从未见过用括号而不是花括号创建的表格?

serviceDefinitions.Add(
    input { name="p1", baseType="NUMBER", description="The first addend of the 
    operation" },
    input { name="p2", baseType="NUMBER", description="The second addend of the operation" },
    output { baseType="NUMBER", description="The sum of the two parameters" },
    description { "Add two numbers" }
)
当调用只有一个参数是表或字符串的函数时,可以省略括号.从 manual:

All argument expressions are evaluated before the call. A call of the form f{fields} is syntactic sugar for f({fields}); that is, the argument list is a single new table. A call of the form f'string' (or f"string" or f[[string]]) is syntactic sugar for f('string'); that is, the argument list is a single literal string.

这意味着以下函数调用有效:

somefunction({1,2,3,4})
somefunction{1,2,3,4}

或者,使用字符串:

print('hello!')
print 'hello!'
网友评论