lua 函数调用的时候使用小括号和使用大括号有啥区别,如何定义?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua 函数调用的时候使用小括号和使用大括号有啥区别,如何定义?相关的知识,希望对你有一定的参考价值。

在一个api文档里见到两种类型的方法调用
base.find( name = ... , type = ... )
base.create name = ... , type = ...
这两种调用方式有什么区别?
如果我也定义这种类型的函数的话,该怎么定义?
注:我没有这些函数的定义代码,我看不到,也问不来

在调用函数时,也需要将对应的参数放在一对圆括号中,即使调用函数时没有参数,也必须写出一对空括号。对于这个规则只有一种特殊的例外情况:一个函数若只有一个参数,并且此参数是一个字符串或table构造式,那么圆括号便可以省略掉。
base.find( name = ... , type = ... )
base.create name = ... , type = ...
实际都是以下形式:
base.find( )
base.create
它们都只有一个参数,这个参数是一个table的构造式。
base.create 等同于base.create( ),圆括号被省略了。
参考技术A 小括号--函数参数
中括号--table元素序号;多行文本
大括号--定义table时使用追问

那么我这种情况是怎么个情况?我需要详细解释

JS调用函数时啥时候加小括号()?啥时候不加小括号()?

参考技术A 加括号后代表立即执行这个方法,不加括号代表这个方法不是立即执行,需要等待某个时机,如下:

不带括号的调用function,函数体对象为参数

带括号的调用function(),立即执行函数后返回的值为参数

以上是关于lua 函数调用的时候使用小括号和使用大括号有啥区别,如何定义?的主要内容,如果未能解决你的问题,请参考以下文章

VB里面有些运行函数加括号和加引号有啥区别

Javascript大括号和中括号的区别

JS调用函数时啥时候加小括号()?啥时候不加小括号()?

Makefile 中的括号 $() 和大括号 $ 语法有啥区别?

Java 中 给一个object 赋值属性, 既可以用构造函数的方式,也可以用setXXXX()的方式,而它们之间有啥区

在c#中下面代码中中括号[ ]中的内容有啥作用?