通过例子学习Lua(4)—函数的调用

1.不定参数

高碑店网站建设公司成都创新互联,高碑店网站设计制作,有大型网站制作公司丰富经验。已为高碑店上千余家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的高碑店做网站的公司定做!

例e07.lua

 
 
 
  1. -- Functions can take a 
  2. -- variable number of 
  3. -- arguments. 
  4. function funky_print (...)   
  5. for i=1, arg.n do   
  6. print("FuNkY: " .. arg[i])   
  7. end   end   
  8. funky_print("one", "two") 

运行结果

FuNkY: one

FuNkY: two

程序说明

* 如果以...为参数, 则表示参数的数量不定.

* 参数将会自动存储到一个叫arg的table中.

* arg.n中存放参数的个数. arg[]加下标就可以遍历所有的参数.

2.以table做为参数

例e08.lua

 
 
 
  1. -- Functions with table 
  2.   -- parameters 
  3.   function print_contents(t) 
  4.   for k,v in t do 
  5.   print(k .. "=" .. v) 
  6.   end 
  7.   end 
  8.   print_contents{x=10, y=20} 

运行结果

x=10

y=20

程序说明

* print_contents{x=10, y=20}这句参数没加圆括号, 因为以单个table为参数的时候, 不需要加圆括号

* for k,v in t do 这个语句是对table中的所有值遍历, k中存放名称, v中存放值

3.把Lua变成类似XML的数据描述语言

例e09.lua

 
 
 
  1. function contact(t)   
  2. -- add the contact ‘t’, which is   
  3. -- stored as a table, to a database   
  4. end   
  5. contact {   name = "Game Developer",   
  6. email = "hack@ogdev.net",   
  7. url = "http://www.ogdev.net",   
  8. quote = [[   There are   
  9. 10 types of people   
  10. who can understand binary.]]   
  11. }   contact {   -- some other contact   } 

程序说明

* 把function和table结合, 可以使Lua成为一种类似XML的数据描述语言

* e09中contact{...}, 是一种函数的调用方法, 不要弄混了

* [[...]]是表示多行字符串的方法

* 当使用C API时此种方式的优势更明显, 其中contact{..}部分可以另外存成一配置文件

4.试试看

想想看哪些地方可以用到例e09中提到的配置方法呢?

文章名称:通过例子学习Lua(4)—函数的调用
分享链接:http://www.shufengxianlan.com/qtweb/news37/245787.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联