lua 函数
1、函数只有一个参数,且该参数为table 或 字符串时,调用函数可以省略()
print"hello world" 同 print("hello world")
type{} 同 type({})
2、函数拥有多个返回值
function test()
return , ,
end
2.1 多赋值中,函数为最后一个表达式,则返回所有值,否则只返回第一个值
local x, y = test() -- x = 1, y = 2, 3丢弃
local x, y, z = 1, test(), 4 -- x = 1, y = 1, z = 4
2.2 table中函数为最后一个表达式,则返回所有值,否则只返回第一个值
t = {2, test()} -- 2, 1, 2, 3
t = {test(), 2} -- 1, 2
2.3 用()强制返回一个值
print( test() ) -- 1, 2, 4
print( (test()) ) -- 1
3、不定长参数函数
unpack()参数为一个table,默认从下标1开始返回所有元素
lua5.1及之前,unpack为全局函数,可以直接使用,如 unpack(...)
lua5.2后,unpack被移了到table下面,不可以直接使用,要带上table,如 table.unpack(...)
lua5.1后 ...需要转换...后再使用,如local arg = {...}
select("#", ...) -- 获取不定长参数的长度(包括nil)
select(i, ...) -- 获取不定长参数中第i个位置的参数
lua 函数的更多相关文章
- C中调用Lua函数
我们先来看一个简单的例子: lua_State* L = NULL; // 内部调用lua函数 double f(double x, double y) { double z; lua_getglob ...
- Lua函数之二
Lua函数之二 Lua中函数的两个重要特性: 1.函数和其他类型(如number.string)一样,可以存放在变量中,也可以存放在table中,可以作为函数的参数,还可以作为函数的返回值. 2.嵌套 ...
- Lua函数之一
LUA函数之一 函数声明: function foo(arguments) statements end 1.函数调用 调用函数的时候,如果参数列表为空,必须使用()表明是函数调用,例如: os.da ...
- 一些LUA函数(转载)
转自http://hi.baidu.com/chevallet/item/9a3a6410c20d929198ce3363 一些LUA函数 1.assert (v [, message]) 功能:相当 ...
- C语言调用Lua函数
记得上学时,初中英文课本中,上网叫做surfing the internet,中文叫网上冲浪. 那个时期,人们常常称互联网为赛博空间.现在工作了,大量的零碎时间用于上微博,知乎,QQ.这些碎片化的阅读 ...
- C模块回调Lua函数的两种方法
作者:ani_di 版权所有,转载务必保留此链接 http://blog.csdn.net/ani_di C模块回调Lua函数的两种方法 lua和C通过虚拟栈这种交互方式简单而又可靠,缺点就是C做栈平 ...
- Lua函数以及闭合函数的理解
Lua函数以及闭合函数的理解 来源 http://blog.csdn.net/mydad353193052/article/details/48731467 词法域和第一类型 在C/C++,C#或者J ...
- lua函数随记
在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在 ...
- Lua 函数参数 & 默认实参
[1]Lua函数,默认实参 习惯了其他语言(如C++)的默认实参,利用Lua语言的过程中,发现没有默认实参这种机制. 所以,自己模拟了一个满足业务需求的带默认实参的函数. (1)示例如下: local ...
- Lua函数[转]
在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在 ...
随机推荐
- CodeForces 429 B B. Working out
Description Summer is coming! It's time for Iahub and Iahubina to work out, as they both want to loo ...
- JS中substr和substring的用法和区别
substr 和 substring都是JS 截取字符串函数,两者用法很相近,下面是两者的语法很示例: substr 方法 返回一个从指定位置开始的指定长度的子字符串.stringvar.substr ...
- Bcdedit命令使用详解使用方法
XP,WIN2003,VISTA,万indows,WIN2008多盘多系统多引导bcdedit的使用windows出了新系统vista,2008想赏赏鲜学习学习~~但又习惯于用旧的XP,2003,然而 ...
- notify vs nofifyall
http://stackoverflow.com/questions/37026/java-notify-vs-notifyall-all-over-again Do you want to tell ...
- How do JavaScript closures work?
Like the old Albert Einstein said: If you can't explain it to a six-year-old, you really don't under ...
- kali系统安装
kali live 安装到U盘 http://www.backtrack.org.cn/thread-17197-1-1.html 用Live U盘安装Kali Linux http://cn.doc ...
- BNUOJ 6038 - Reaux! Sham! Beaux!(模拟)
这是一个水模拟,但是因为图片看不清,手打比较烧脑,我们错了好多次才过 #include<stdio.h> #include<iostream> #include<stri ...
- Quartus14.1中Qsys创建custom component时编译出错原因
利用Quartus14.1中Qsys工具新建自定义组件时会产生“part-select direction is opposite from prefix index direction”错误,这是由 ...
- phantom" breakpoints
http://stackoverflow.com/questions/723199/why-does-my-eclipse-project-have-phantom-debugger-breakpoi ...
- 【HighCharts系列教程】八、Html标签属性——Labels
一.labels属性说明 Labels属性允许在HighCharts图表的任意位置添加任意的html代码.可以实现许多自定义内容. 二.labels属性详解 参数 子参数 说明 默认值 items — ...