成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Lua程序設(shè)計(jì)語言入門學(xué)習(xí)

移動(dòng)開發(fā) iOS
Lua是一種多重編程范式的程式設(shè)計(jì)語言:它只提供了很小的一個(gè)特性集合來滿足不同編輯范式的需要,而不是為某種特定的編輯范式提供繁雜的特性支援。

Lua程序設(shè)計(jì)語言入門學(xué)習(xí)是本文要介紹的內(nèi)容,主要是了解LUA腳本語言,很適合初學(xué)者來使用,Lua程序設(shè)計(jì)語言 是一個(gè)簡(jiǎn)潔、輕量、可擴(kuò)展的腳本語言。Lua讀作/'lua/(嚕啊),是葡萄牙語中"Luna"(月亮)的意思。

Lua的目標(biāo)是成為一個(gè)很容易嵌入其它語言中使用的語言。大多數(shù)程序員也認(rèn)為它的確做到了這一點(diǎn)。

很多應(yīng)用程序使用Lua作為自己的嵌入式腳本語言,以此來實(shí)現(xiàn)可配置性、可擴(kuò)展性。這其中包括大話西游II、仙境傳說、魔獸世界、戰(zhàn)錘40k、博德之門、軒轅劍外傳漢之云等。

Lua是一種輕量語言,它的官方版本只包括一個(gè)精簡(jiǎn)的核心和最基本的庫(kù)。這使得Lua體積小、啟動(dòng)速度快。它用標(biāo)準(zhǔn)C語言編寫并以源代碼形式開放,編譯后僅僅一百余K,可以很方便的嵌入別的程式里。和許多"大而全"的語言不一樣,網(wǎng)路通訊、圖形界面等都沒有默認(rèn)提供。但是Lua可以很容易地被擴(kuò)展:由宿主語言(通常是C或C++)提供這些功能,Lua可以使用它們,就像是本來就內(nèi)置的功能一樣。事實(shí)上,現(xiàn)在已經(jīng)有很多成熟的擴(kuò)展模塊可供選用。

Lua是一種多重編程范式的程式設(shè)計(jì)語言:它只提供了很小的一個(gè)特性集合來滿足不同編輯范式的需要,而不是為某種特定的編輯范式提供繁雜的特性支援。例如,Lua并不提供繼承這個(gè)特性,但是你可以用元表來模擬它。

諸如名字空間、類這些概念都沒有在語言基本特性中實(shí)現(xiàn),但是我們可以輕易的用表結(jié)構(gòu)(Lua唯一提供的復(fù)雜數(shù)據(jù)結(jié)構(gòu))輕易模擬。Lua可以在運(yùn)行時(shí)隨時(shí)構(gòu)造出一個(gè)函數(shù),并把它看作一個(gè)對(duì)象(正是所謂的first class function),這個(gè)特性可以很好的滿足函數(shù)式編程的需要。這是提供了這些基本的元特性,我們可以任意的對(duì)語言進(jìn)行自需的改造。

Lua原生支援的數(shù)據(jù)類型非常之少,它只提供了 數(shù)字(缺省是雙精度浮點(diǎn)數(shù),可配置)、布爾量、字符串、表、子程序、協(xié)程(coroutine)以及用戶自定義數(shù)據(jù)這幾種。但是其處理表和字符串的效率非常之高,加上元表的支援,我們可以高效的模擬出需要的復(fù)雜數(shù)據(jù)類型(比如集合、數(shù)組等)。

Lua是一個(gè)動(dòng)態(tài)弱類型語言,支援增量式垃圾收集策略。有內(nèi)建的,與操作系統(tǒng)無關(guān)的協(xié)作式多線程(coroutine)支援。

程式范例print "Hello, world!"

執(zhí)行后,會(huì)在屏幕上顯示"Hello, world!"(不包括前后的")。

一個(gè)比較復(fù)雜一點(diǎn)的例子,展示了什么是函數(shù),以及Lua對(duì)閉包的支持:

  1. function create_a_counter()  
  2.     local count = 0 
  3.     return function()  
  4.         countcount = count + 1  
  5.         return count  
  6.     end  
  7. end 

create_a_counter()會(huì)返回一個(gè)匿名函數(shù)(在Lua中,函數(shù)和其他資料一樣,是可以指定給變量來儲(chǔ)存的)。這個(gè)匿名函數(shù)會(huì)把count加1后再回傳。在匿名函數(shù)中的變量count既不是全域變量也不是區(qū)域變量,而是一種稱為external local variable(外部局部變量,又稱upvalue)的變量。這個(gè)變量的值會(huì)一直被保存在匿名函數(shù)中。因此create_a_counter()的功能就相當(dāng)于一個(gè)記數(shù)器,每次調(diào)用這個(gè)記數(shù)器,都會(huì)得到一個(gè)比上次大1的值。

類型lua 是動(dòng)態(tài)類型語言,語言中沒有類型的定義,也就是寫代碼時(shí)不需要聲明變量類型,每個(gè)變量自己保存了類型。

有8種基本類型:

  1. nil, boolean, number, string, userdata, function, thread, table 
  1. print(type("Hello world"))  > string  
  2. print(type(10.4*3))         > number  
  3. print(type(print))          > function  
  4. print(type(type))           > function  
  5. print(type(true))           > boolean  
  6. print(type(nil))            > nil  
  7. print(type(type(X)))        > string 

可以看到,***一句代碼的輸出結(jié)果是 string,不管 X 代表什么,結(jié)果總是 string ,因?yàn)閠ype()函數(shù)的返回值是 string 類型。

小結(jié):Lua程序設(shè)計(jì)語言入門學(xué)習(xí)的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-04-25 13:31:51

Objeck

2011-08-22 17:41:23

LUA 腳本 語言

2010-01-08 16:10:59

C++語言

2015-05-18 15:08:08

多種程序設(shè)計(jì)語言程序設(shè)計(jì)語言

2013-12-12 16:30:20

Lua腳本語言

2011-08-25 14:43:55

LUA對(duì)象序列化

2011-08-22 16:59:28

Lua

2011-08-25 10:40:21

Lua游戲

2011-09-01 19:06:57

UbuntuLua安裝環(huán)境

2009-06-22 14:03:00

java教材程序設(shè)計(jì)

2011-08-22 18:08:09

Lua腳本

2011-07-04 13:31:15

2010-08-09 09:20:51

Flex程序設(shè)計(jì)

2012-04-16 09:50:08

2010-01-11 10:34:22

C++程序

2011-06-09 09:52:41

F#

2010-01-18 16:12:16

CC++語言

2023-03-06 16:44:41

編程語言開發(fā)編碼

2020-03-19 09:00:00

泛型代碼復(fù)用率程序運(yùn)行性能

2010-01-22 10:26:40

C++語言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产一区二区视频免费在线观看 | 日韩成人免费视频 | 久久ww| 久久久久久久av | 亚洲精品一区二区在线观看 | 一区在线免费视频 | 日韩一区二区在线视频 | 成人精品久久日伦片大全免费 | 91精品国产乱码久久久久久久久 | 少妇诱惑av | 米奇狠狠鲁 | 国产韩国精品一区二区三区 | 亚洲精品久久久一区二区三区 | 亚洲日韩中文字幕一区 | 99精品99久久久久久宅男 | 国产亚洲精品区 | 成人高清在线视频 | 少妇一级淫片免费放播放 | 小川阿佐美pgd-606在线 | 一区福利视频 | 97免费视频在线观看 | 国产精品久久在线观看 | 91精品国产综合久久久久久漫画 | 欧美一区二区在线 | 国产成人一区二区三区 | 国产在线区 | 亚洲高清在线 | 麻豆视频国产在线观看 | 久久久久久久久久久久久九 | 国产成人一区二 | 免费国产黄网站在线观看视频 | h视频免费在线观看 | 色眯眯视频在线观看 | 欧美影院 | 国产精品精品视频一区二区三区 | 精品一区二区三区在线播放 | 国产成人自拍一区 | 亚洲国产一区在线 | 91精品国产日韩91久久久久久 | 亚洲精品电影在线观看 | 红桃视频一区二区三区免费 |