在Lua中,函数是一种对语句和表达式进行抽象的主要机制;一句函数调用能够被视为一条语句以完成某项特定的任务也能够做为一个表达式计算并返回结果。函数
不管哪一种用法都须要将全部的参数放到一对圆括号中,即便调用函数时没有参数也必须写出一对空括号(特殊状况:一个函数若只有一个参数,而且此参数是一个字面字符串或table构造式,此时圆括号即可有可无)lua
print "Hello World" ------>print("Hello World") func{x = 10, y = 20} ------->func({x = 10, y = 20})
Lua为面向对象式的调用提供了:冒号操做符。spa
表达式o.foo(o , x)的另外一种写法是o:foo(x),冒号操做符使调用o.foo时将o隐含地做为函数的第一个参数。一个Lua程序既能够使用以Lua编写的函数,又能够调用以C语言编写的函数。code
在函数的形参初始化过程当中,保留有“若实参多于形参,则舍弃多余的实参;若实参不足,则多余的形参初始化为nil”对象