注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

Lua战记2——基本语法之函数及基本语句  

2012-01-24 09:52:51|  分类: Lua学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Lua战记2——基本语法之函数及基本语句

要使用一种语言,基本的入门的语句和函数使用的方法是必须要知道的,这样才能够迅速的切入,大而化之。不过基本的数据类型这个东西太简单了,这里就不说了,大家去看书。

一、函数:还是先上一个函数的例子:

function mytest(a,b)

local t,t1 = 1,10

t = a + b

return t,t1

end

r1,r2 = mytest(1,10)

print(r1,r2)

说明: 函数定义的形式如上面mytest一样,加function关键字开始,以end关键字结束。需要说明的是有的语言里end是要和begion配对的,这里不需要。

函数可以返回多个值,这是和其它语言有明显的区别的,比如C和C++想要返回多个值,就得用结构或者类及数组什么的了。

local的意思是声明一个局部变量,其中一些用法很奇特,在这里不细说(比如连续声明两个local t,会是什么现象呢)。而不加这个关键字,默认就是全局的(即使在函数内部没有local声明变量也是全局的,这个要引起注意)。这个关键字也可以象其它语言一样直接声明多个变量并且初始化,平行按顺序走即可。

这里只讲关键,具体的一些用法大家还是要看书。学习一门新的语言,重要的是要抓住他与其它语言的不同点和特别之处。

二、循环语句:

1、for循环:有两种形式,数字形和泛型两种,这里只介绍一下前者,后者大家找资料

例子:

for i=1,10 do
print(“i is  “ .. i)
    if i < 5 then       
    print(“first block”)   
    elseif i < 8 then       
    print(“second block”)   
    else       
    print(“third block”)   
    end 
end

其实质是如下形式:

for var=exp1,exp2,exp3 do

<执行体>

end

exp1,exp2是起始和结束值,最后一个是步长,可以忽略,这个大家应该相当明白。

2、While...do

local i=1

while a[i] do

print(a[i])

I = i+ 1

end

3、repeat...until

repeat 

line = io.read()

until liine ~=""

print(line)

三、分支语句:

例子:

If a > 0 then b = 1

else

 b = 5

end

还有一种情况就是象上面的for循环中的,需要引起注意的是无论有多少个子elseif,一个if只有一个end。还有一点,在LUA中,0和空字符串,也是被视为真的,这个一定要和其它的语言区别开来。

纸上学来终觉浅,绝知此事要躬行。

  评论这张
 
阅读(1334)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017