Lua程序设计随笔(4)

 

Lua函数中,实参的数量可以超过形参的数量,但是超过的部分会被舍弃,

当实参数量少于形参时,轮空的形参也会被设置为nil

function f (a,b)

  return a or b ;

end

f(3)     =>a=3,b=nul;

f(3,4)  =>a=3,b=4;

f(3,4,5)  =>a=3,b=4,(5被舍弃了)

 

多重返回值函数

Lua中函数可以一次返回多个值

多重返回值参数在作为参数的时候,还有特殊的处理

1.函数是作为最后一个一个参数使用,这时会全额返回所有返回值

2.左右参数组中的某一个参数,且不是在末尾,那么只会返回第一个形参的值

3.如果需要被赋值的参数数量大于函数的返回数量,那么超过的部分会用nil代替,除非函数后续有跟其他值;

function foo0 () 

end

 

function foo1() 

  return "a";

end

function foo2() 

  return "a","b";

end

x,y=foo2()  =>x="a",y="b"

x=foo2()       =>x="a","b"被舍弃

x,y,z=10,foo2()  =>x=10,y="a",z="b";

x,y,z=foo2(),10  =>x="a",y=10,z=nil;

print(foo2())    =>a  b

print(foo2() .. "x")  =>ax

4.table可以完整的接受一个函数的所有返回值,但是条件同上

5.return 也可以返回完整的返回时,条件同上

6.存在一个特殊的函数【unpack】,可以完整的返回所有参数,且只受3规则控制,但是参数需要是数组

f=string.find;

a={"hello","ll"};

f(unpack(a))  =>3 4;

(ps,string.find函数用于查询字符串a中字符串b的起始位置和结束位置,string.find(a,b));

 

变长参数

Lua中可以将一个不定长的数组作为形参

function add(...)

  local s=0

  for i,v ipairs{...} do

    s=s+v;

  end

  return s

end

甚至可以

function all(...)

  return ...;

end

同时Lua提供了专门格式化文本和输出文本男的函数

function fwrite(fmt,...)

  return io.write(string.format(fmt,...));

end

需要注意的是,fmt是固定参数,且可以拥有无数个,但是必须放在变长参数之前

fwrite()     =>fmt=nil,没有变长参数

fwrite(“a”)  =>fmt="a",没有变长参数

fwrite(“%d%d”,4,5)  =>fmt="%d%d",变长参数为4和5;

但是变长参数中可能会存在nil值,这是需要函数【select】来操作变长参数;

select("#",...)返回的是变长参数的总数

select(n,...)返回的是变长参数的第n个参数

 

具名实参

Lua中可以通过指定形参的方式给形参赋值,

传一个table 作为参数,可以对指定的参数赋值,函数接受一个table作为形参,这样就可以对对应的参数进行操作赋值

同时这种模式的传值方式,可以设置某些参数为可选的,进而减少处理,已经可以不按照顺序传入,而是依照id对应

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Lua程序设计第4版》是一本非常经典的Lua编程书籍,它介绍了Lua程序设计的基本概念和技巧,并提供了大量的实例和练习,适合初学者和有一定编程基础的人阅读。 这本书的PDF版本非常方便,可以在电子设备上随时随地阅读。拥有PDF格式的书籍,读者可以通过搜索、书签、标注等功能,更好地管理和查找自己感兴趣的内容。此外,PDF版本还可以进行页面放大、缩小、翻转等操作,适应不同设备和阅读需求。对于学习Lua编程的人来说,这本书的PDF版本无疑是很有帮助的。 《Lua程序设计第4版》从基础语法、数据类型、运算符等内容开始介绍Lua的基础知识,然后逐步深入到表、函数、模块等高级特性,还介绍了面向对象编程和异常处理等更高级的主题。通过阅读这本书,读者可以系统地学习Lua的各种语言特性和编程技巧,掌握Lua编程的基本原理和方法。 在阅读过程中,读者可以参考书中的实例代码进行练习,并通过实践来加深对Lua编程的理解和掌握。此外,书中还提供了一些练习题,可以帮助读者巩固所学知识,培养编程思维和解决问题的能力。 总之,《Lua程序设计第4版》是一本很有价值的Lua编程书籍,提供了全面而深入的学习内容,适合想要学习Lua编程的读者阅读。PDF版本的书籍具有便携性和便捷性,非常方便读者随时随地进行学习。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值