lua语言基础

21 篇文章 0 订阅
转载自:http://blog.csdn.net/xiaominghimi/article/details/8770395
--[[ 
注释段落语句
   ]] --
 
--引用其他lua文件,不需要加上(.lua)后缀
--require "xx"
 
--变量不需要定义,可以直接赋值
count = 100  --成员变量
local count = 100  --局部变量
 
--方法定义
function hello ( ... )
     --打印
     print ( "Hello Lua!" ) ;
     print ( string .format ( ... ) )
end
 
-- 每一行代码不需要使用分隔符,当然也可以加上
-- 访问没有初始化的变量,lua默认返回nil
 
-- 调用函数形式
hello ( "你懂的" )
 
--打印变量的类型
isOK = false
print ( type ( isOK ) )
 
-- 基本变量类型
a = nil --Lua 中值为nil 相当于删除
b = 10
c = 10.4
d = false
--定义字符串,单引号,双引号都可以的
e = "i am"
d = 'himi'
 
--两个字符串的连接可以如下形式
stringA = "Hi"
stringB = "mi"
print ( stringA..stringB )
 
--另外Lua也支持转移字符,如下
print ( stringA.. "\n" ..stringB ) ;
 
--修改字符串的部分gsub,可以如下形式:(将stringA字符串中的Hi修改为WT)
stringA = string .gsub ( stringA , "Hi" , "WT" )
print ( stringA ) ;
 
--将字符换成数字tonumber(不转也会自动转)
--将数字换成字符tostring(不转也会自动转)
stringC = "100"
stringC = tonumber ( stringC )
stringC = stringC + 20
stringC = tostring ( stringC )
print ( stringC )
 
--取一个字符串的长度使用 #
print ( #stringC)
 
--创建 表
tableA = { }
m = "x"
tableA[m] = 100
m 2 = 'y'
tableA[m 2 ] = 200
print ( tableA[ "x" ].. "\n" ..tableA.y )
--另外表还可以如下形式(从1开始)
tableB = { "4" , "5" , "6" , "7" , "8" }
print ( tableB[ 1 ] )
 
--算术操作符
c 1 = 10 + 2
c 2 = 10 -2
c 3 = 10 * 2
c 4 = 10 / 2
c 5 = 10 ^ 2
c 6 = 10 % 2
c 7 = -10 + 2
print ( c 1. . "_" ..c 2. . "_" ..c 3. . "_" ..c 4. . "_" ..c 5. . "_" ..c 6. . "_" ..c 7 )
 
--控制操作
--if then elseif then else end
abc = 10
if  abc = = 10 then
     print ( "v1" )
elseif abc = = 9 then
     print ( "v2" )
else
     print ( "v3" )
end
 
--for
--从4(第一个参数)涨到10(第二个参数),每次增长以2(第三个参数)为单位
for i = 4 , 10 , 2 do
     print ( "for1:" ..i + 1 )
end
--也可以不制定最后一个参数,默认1的增长速度
for i = 4 , 10 do
     print ( "for2:" ..i + 1 )
end
 
tableFor = { "himi1" , "himi2" , "himi3" , "himi4" , "himi5" }
for k , v in pairs ( tableFor ) do
     print ( "for3:key:" ..k.. "value:" ..v )
end
 
--while
w 1 = 20
while true do
     w 1 = w 1 + 1
     if w 1 = = 25 then
         break
     end
end
print ( "whlile:" ..w 1 )
 
--repeat
     aa = 20
     repeat aa = aa + 2
         print ( "repeat:" ..aa )
     until aa > 28
 
--关系操作符
--需要注意的是不等于符号 ~=  而不是!=
ax = 10
bx = 20
 
if ax > bx then
     print ( "GX1" )
elseif ax < bx then
     print ( "GX2" )
elseif ax > = bx then
     print ( "GX3" )
elseif ax < = bx then
     print ( "GX4" )
elseif ax = = bx then
     print ( "GX5" )
elseif ax~ = bx then
     print ( "GX6" )
else
     print ( "GX7" )
end

 

其中主要需要注意的是判断语句不等于,不再是!= ,在Lua中是~= ,这个要注意。


 

另外关于一些常见的函数如下详解:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--函数详解
 
--有一个返回值的函数
function funTestBackOne ( aCount )
     local aCount = aCount + 1
     return aCount
end
 
a = 20
print ( funTestBackOne ( a ) )
 
--有多个返回值的函数
function funTestBackMore ( )
     return 2 , 3
end
 
a , b = funTestBackMore ( )
print ( a.. " and " ..b )
 
--有变长参数的函数
function funTestUnKnow ( ... )
     print ( ... )
end
funTestUnKnow ( a , b , "Himi" )
 
--闭合函数(一个函数写在另外一个函数内)
function funTest 1 ( ... )
     local d = 12 ;
     d = d + ...
     function funTest 2 ( ... )
         print ( d )
     end
     funTest 2 ( )
end
 
funTest 1 ( 100 )

 

掌握这些Lua语言基础,基本足够你使用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值