您的位置:首页 > 编程语言 > Lua

lua 01 入门

2014-02-13 16:59 169 查看
-- lua 开始

--[[

这个叫块注释

--]]

print("hello world")

-- lua 只有double 64位

num1 = 1024
num2 = 0.3
num3 = 0x56

print(num1)
print(num2)
print(num3)

-- 字符串
s = "hello"
print(s)

-- while

sum = 0
i = 1
while i <= 100 do
sum = sum + i
i = i + 1   -- lua 没有++
end
print("end while -- sum =",sum)

-- if elseif else
age = 12
sex = "man"
if  age == 40 and sex == "man" then   -- 与或非 and or not
print("40 man")
elseif age > 60 and sex ~= "man" then -- ~= 就是不等于
print("old man")
elseif age < 20 then
io.write("too young!\n") -- io库的使用
else
local age = io.read()    -- 如果没有生命local 默认都是全局变量
print("age : "..age)     -- ..字符的拼接
end

-- for
-- 从1加到100
sum = 0
for i = 1, 100 do
sum = sum + i
end
print("sum1 "..sum)

--从1到100的奇数和
sum = 0
for i = 1, 100, 2 do -- 这里的2表示累加的大小 默认为1
sum = sum + i
end
print("sum2 "..sum)

--从100到1的偶数和
sum = 0
for i = 100, 1, -2 do
sum = sum + i
end
print("sum3 "..sum)

-- until循环
sum = 2
repeat
sum = sum ^ 2 --幂操作
print(sum)
until sum >1000
print("sum4 "..sum)

-- 函数 递归
function fib(n)
if n < 2 then return 1 end
return fib(n - 2) + fib(n - 1)
end

sum = fib(12)
print("sum5 "..sum)

function test1(id)
print("id : "..id)
local num  = 1
local name = "ok_buy"
local age  = 12
return num, name, age -- 函数可以返回多个值
end

n, nm, ag = test1(34)
print("result : "..n..nm..ag)

-- 数据结构 table key-value 类似于C语言中的map
stu = {
name = "sky",
age  = 22,
sex  = "man",
handsome = 0,
}

print("sut : "..stu.name..stu.age..stu.sex..stu.handsome)

stu.name = "kevin"
print("sut : "..stu.name..stu.age..stu.sex..stu.handsome)

-- 遍历一个table
for k, v in pairs(stu) do
print("k.v : "..k..v)
end

-- 数据结构 数组
arr = {11, 22, 33, 44, "5hg"}
for  i = 1, #arr  do -- #arr 数组的长度 lua的数组是从1开始的
print("arr : "..arr[i])
end

-- 编写别处调用的模块  01.lua
local OMG = {}
function OMG.tellu()
print("OMG tell u")
end

return OMG

-- 别处调用这个函数
-- local omg = require("01")
-- omg.tellu()


一些lua的资料:

http://www.codingnow.com/2000/download/lua_manual.html

http://coolshell.cn/articles/10739.html#more-10739

http://pan.baidu.com/s/1kTwSqQb
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: