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

Lua 语言基础

2015-08-19 15:10 591 查看
a = {
10,
20,
"sdfsdf"
}
-- 数组定义
a[1] = 1;
a[2] = 3;
a[3] = "hello world"

-- 交换变量
a,b = 1,2
b,a = 2,111

c = 1
c = c + 1

function add(a ,b)
return a , b
end

print(add(a,b))

-- print("helle" + "world")
print("helle" .. "world")

-- 函数定义 形参定义与js 类似
function foo()
local aa = 1 --局部变量 去掉local 变全局
end

foo()
print(aa)
function foundWatermelon( ... )
return false
end

-- 流程控制 if
if foundWatermelon () then
print("xigua")
elseif true then
print("jsjsjsjsj")
else
print("baozi")
end

-- 流程控制 while
local i = 0
while i < 10 do
print(i)
i = i + 1
end

-- lua i++ 去了哪里?
for i = 9 , 0 ,-1 do
print(i .. " for ")
end

-- for 的泛型遍历
bb = {
["foo"] = 1,
[100] = true,
[1] = 29,
[2] = 30
}
print("------迭代器:pairs散列 无序-------")
-- 打印映射
for k,v in pairs(bb) do
print(k,v)
end
print("------迭代器:ipairs有序-------")
for k,v in ipairs(bb) do
print(k,v)
end

print("------package-------")

-- Lua 的包(package)
local  clazz = require("foo")
print(clazz)  --  table : 007ac1b8
print(clazz.foo(1,2))
-- require  加载文件,运行
-- dofile 加载并且运行
-- dofile 会不停加载
print("require dofile ---  区别")
for i = 1,2 do
print(require("foo"))
end

for i = 1,2 do
print(dofile("foo.lua"))
end
-- table: 0091c500
-- table: 0091c500
-- table: 0091c5a0
-- table: 0091c2d0

print("-----dostring()-- 没了---")
-- dostring("print(\"hellowowo\")")

print("-------系统库------")
--动态添加数组

local  t = {}

for i = 1, 10 do
table.insert(t,i)
end

for k,v in pairs(t) do
print(k,v)
end

print("打印table 里面的方法")
for k,v in pairs(table) do
print(k,v)
end
-- concat  function: 62994df0
-- sort    function: 62995430
-- move    function: 62994330
-- remove  function: 62995270
-- unpack  function: 62995120
-- insert  function: 62994f90
-- pack    function: 629945c0

print("---------映射删除--------")
t.a = nil

print("长度取出来")
local  tt = "helloworld"
print(#tt)
local aaa = {1,2}
print(#aaa)

print("打印类型")
print(type(aaa))

local  str = tostring(3.14)
print(type(str))

print("-------格式匹配-------")
print(string.format("hi %d",33))

--  c 对比 学语言对比才是真理
-- table =数组 + 映射
-- 1开始,连续使用,自动扩展
-- 什么都是值
-- 多个返回值

-- 逻辑运算 英文字母

-- 迭代器:ipairs有序
-- 迭代器:pairs散列

-- 迭代器 for k,v
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: