好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Lua基礎教程之表(Table)學習筆記

Lua基礎教程之表(Table)學習筆記

熱門標簽:武漢外呼防封系統多少錢 新岸線智能電銷機器人 個人怎么在地圖標注需要的店鋪 冀州市地圖標注 百度地圖標注早餐區域 漳州智云呼電話機器人 清朝地圖標注哈爾濱 怎么去除地圖標注 地圖標注大廈

復制代碼 代碼如下:

    a = { }
    b = { x = 1, ["hello, "] = "world!" }
    a.astring = "ni, hao!"
    a[1] = 100
    a["a table"] = b
    function foo()
    end
    function bar()
    end
    a[foo] = bar
    --分別窮舉表a和b
    for k, v in pairs(a) do
        print(k, "=>", v)
    end
    print("----------------------------")
    for k, v in pairs(b) do
        print(k, "=>", v)
    end

復制代碼 代碼如下:

--輸出結果
1 => 100
a table => table: 003FB3A0
function: 003FCBB0 => function: 003FCBD0
astring => ni, hao!
----------------------------
hello,  => world!
x => 1

定義表(Table)的方式:a = {}, b = {…}

訪問表的成員:通過“.”或者“[]”運算符來訪問表的成員。注意:表達式a.b等價于a[“b”],但不等價于a[b]

復制代碼 代碼如下:

    local b = {"h", 20} --《=》 {[1]="h", [2]=20}  《=》local b={};b[1]="h";b[2]=20
    local d = {x=0, y=0}  --《=》local d = {}; d.x=0; d.y=0 《=》local d = {}; d["x"]=0; d["y"]=0

表項的鍵和值:任何類型的變量,除了nil,都可以做為表項的鍵。從簡單的數值、字符串到復雜的函數、表等等都可以;同樣,任何類型的變量,除了nil,都可以作為表項的值。給一個表項的值賦nil意味著從表中刪除這一項,比如令a.b= nil,則把表a中鍵為“b”的項刪除。如果訪問一個不存在的表項,其值也是nil,比如有c = a.b,但表a中沒有鍵為“b”的項,則c等于nil。

一種簡單的對象實現方式

復制代碼 代碼如下:

function CreateStudent(ID,Name)
   local Obj={id=ID,name=Name};
    function Obj:GetID()
    return self.id;
 end
 function Obj.GetName(self)
    return self.name;
 end
 function Obj:SetID(ID)
    self.id=ID;
 end
 Obj.SetName=function(self,Name)
 self.name=Name
 end
 return Obj;
end

s1=CreateStudent(1,"andy");
print("s1'id=",s1:GetID(),"s1'name=",s1.GetName(s1))

s1:SetID(2);
s1.SetName(s1,"lili");
print("s1'id=",s1:GetID(),"s1'name=",s1:GetName())

--輸出結果
--s1'id= 1 s1'name= andy
--s1'id= 2 s1'name= lili

對象工廠模式:如上面代碼的create函數

用表來表示對象:把對象的數據和方法都放在一張表內,雖然沒有隱藏私有成員,但對于簡單腳本來說完全可以接受。

成員方法的定義:function obj:method(a1, a2, ...) … end ==>function obj.method(self, a1, a2, ...) … end ==>obj.method = function (self, a1, a2, ...) … end
成員方法的調用:obj:method(a1, a2, …) ==>obj.method(obj, a1, a2, ...)

簡單繼承

復制代碼 代碼如下:

function CreateStudent(ID,Name)
   local Obj={id=ID,name=Name};
    function Obj:GetID()
    return self.id;
 end
 function Obj.GetName(self)
    return self.name;
 end
 function Obj:SetID(ID)
    self.id=ID;
 end
 Obj.SetName=function(self,Name)
 self.name=Name
 end
 return Obj;
end

function CreateClassStudent(ID,Name,Class)
   local obj=CreateStudent(ID,Name);
    obj.class=4;
   function obj:GetClass()
      return self.class;
   end
   function obj.SetClass(self,class)
      self.class=class;
   end
   return obj;
end

s2=CreateClassStudent(1,"andy",5);
print("s2'class=",s2.GetClass(s2))

優點:簡單、直觀 缺點:傳統、不夠動態

您可能感興趣的文章:
  • Lua基礎教程之賦值語句、表達式、流程控制、函數學習筆記
  • 在Lua中使用模塊的基礎教程
  • lua 基礎教程

標簽:儋州 天門 宣城 德宏 金昌 濰坊 天門 臺灣

巨人網絡通訊聲明:本文標題《Lua基礎教程之表(Table)學習筆記》,本文關鍵詞  Lua,基礎,教程,之表,Table,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Lua基礎教程之表(Table)學習筆記》相關的同類信息!
  • 本頁收集關于Lua基礎教程之表(Table)學習筆記的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产最新精品视频| 丰满老熟好大的大bbb| 91人前露出精品国产| 中文字幕一区二区三区乱码图片| 被蹂躏的漂亮女教师在线观看| 美女黄的视频全免费| 日韩毛片视频| 牛鞭入女人下身视频免费看| 嗯嗯阿啊| 骚骚网站| 古代调教小说| 又粗又硬又长太猛太爽受不了| 四虎国产精品永久在线地址的介绍 | 国产哺乳奶水91在线播放| 国产黄A片免费网站免费| 欧美猛男黑人gay巨大| 国产片一区二区三区| 18?精品?爽?国产| 欧美三级韩国三级日本播放| 羞羞的漫画在线阅读页面漫画入口页面秋蝉| 亚洲人成电影院在线观看| 国产一区二区三区 精品| 性生生活18分钟| 小泽玛利亚视频在线| 美女扒开肌肌让男人桶| 欧美h版成版在线观看| 国产成人人妻精品一区二区三区 | 码精品少妇A无码久久久| 好湿?好紧?好多水好爽自慰| 男人插女人逼逼视频| 很详细的肉肉床文过程全文| 91精品国产综合婷婷香蕉| 国产日韩精品白浆中文字无码| 亚洲理论a中文字幕在线| 护士做次爱20p| 风间由美无打码在线观看| 动漫无码H一区二区三区| 舔女人的下面| md豆传媒app网址| 精品国产乱码一区二区三区APP| 欧洲码欧洲尺码M高清|