Lua-基本语法

1.基本语法

a= 5; -- 全局变量 
print(a)
local a = 6;  -- local局部变量
print(a)

-- if用法 获得最大值 
function max(a,b)
    if a>b then
        return a
        else
        return b
    end
end
print(max(2,3))

-- for循环
for var=1, 5 do
    print(var)
end

2.表

config = {a="a",b=17}  -- 定义时候赋值
config.name = "hello"
config.num = 13    
-- 点跟中括号是一样
config["score"] = 78

print(config.a)
print(config.name)
print(config["score"])

for key, var in pairs(config) do
     print(key,var)
--   a a
--num 13
--name  hello
--b 17
--score 78
end

3.数组

arr = {1,2,3,"hello"} -- 数组角标是从1开始,不是从0

4.面向对象之复制表的方式面向对象

-- 复制
function clone(tab)
    local ins = {}
    for key, var in pairs(tab) do
        ins[key] = var
    end
    return ins
end

function copy(dist,tab)
  for key, var in pairs(tab) do
    dist[key] = var
  end
end

-- People类
People = {}

People.sayHi = function ()
    print("People say hi")
end
People.sayHi2 = function (self)
  print("People say hi :"..self.name) -- ..表示字符串拼接
end

-- 构造方法
People.new = function (name)
    local self = clone(People)
    self.name = name
    return self
end

local p = clone(People)
p.sayHi() -- People say hi
local p1 = People.new("zhangsan")
p1.sayHi2(p1) -- People say hi :zhangsan

-- 类的继承
Man = {}
Man.new = function (name)
  local self = People.new(name)
  -- man的所有键值对都赋值到people上面,就相当是一个继承的概念
  copy(self,Man)
  return self
end

local m = Man.new("man")
m.sayHi2(m)  -- People say hi :man

5.面向对象之函数闭包的方式面向对象

function People(name)
    local self = {}
    local function init()
    self.name = name
    end
    self.sayHi = function ()
        print("People say hi :"..self.name)
    end
    init()
    return self
end

local p = People("zhangsan")
p.sayHi() -- People say hi :zhangsan

function Man(name)
  local self = People(name)
    self.sayHi1 = function ()
    print("Man say hi :"..self.name)
  end
  return self
end

local m = Man("man")
m.sayHi() -- People say hi :man
m.sayHi1() -- Man say hi :man
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述: Lua 是一种轻量小巧的脚本语言,用标准 C 语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,...
    LeeJay阅读 8,168评论 1 9
  • 循环 while for repeat … until 支持 break 流程控制 lua 中 0 为 true,...
    重剑无锋_Augustine阅读 888评论 0 0
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,752评论 0 4
  • 2017年即将走完,2018马上开始。岁月如歌,有些事需要用心记得,有些事需要安心遗忘。 在这至关重要的一年里,我...
    朱传焰阅读 1,044评论 1 1
  • 今天孩子学校报名了,美丽美好的校园,年轻的孩子们象清新的风,明亮干净,生气勃勃,有一种很感染人的气息能量。 我看着...
    何偀阅读 185评论 0 0

友情链接更多精彩内容