欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Lua(一)——類型與值-創(chuàng)新互聯(lián)

lua是一款小巧的腳本語言,是巴西里約熱內(nèi)盧天主教大學(xué)里的一個(gè)研究小組于1993年開發(fā)其設(shè)計(jì)目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。lua由標(biāo)準(zhǔn)C編寫而成,幾乎在所有操作系統(tǒng)和平臺上都可以編譯、運(yùn)行。lua并沒有提供強(qiáng)大的庫,這是由它的定位決定的,所以lua不適合作為開發(fā)獨(dú)立應(yīng)用程序的語言,在游戲開發(fā)等領(lǐng)域使用較多。

為向陽等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及向陽網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、向陽網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

1. 引子

1.1 保留字

保留字的概念不用多說,lua中的保留字如下21個(gè):

and break do else elseif end false for function if 
in local nil not or repeat return then true until while
1.2 注釋

注釋分為行注釋和塊注釋:

-- 行注釋
-- print("the line notes")

-- 塊注釋
--[[
print("the first block notes")
print("the second block notes")
]]

使用塊注釋時(shí),建議用如下形式:

--[[
print("the first block notes")
print("the second block notes")
--]]

這種形式的好處是,如果想要取消塊注釋,只需在塊注釋開始前再加一個(gè)-符號,如此可以將塊注釋的開始行和結(jié)束行都變?yōu)樾凶⑨專?/p>

---[[
print("the first block notes")
print("the second block notes")
--]]

這里還要提到的一點(diǎn)是,如果在被注釋的內(nèi)容中出現(xiàn)]]的解決方法。在lua5.1版本后,可以通過在兩個(gè)相連的中括號間添加相等數(shù)量的=來解決,如此便可在注釋內(nèi)容中使用]]

--[===[
print("the first block notes")
print("the second block notes")
[[
]]
--]===]
1.3 shebang

shell,python一樣,在lua中也有shebang,放于.lua文件的第一行,如果改文件有執(zhí)行權(quán)限,則可以直接執(zhí)行:

#!/bin/bash
#!/usr/bin/env lua

2. 類型與值

lua中共有8種基礎(chǔ)類型:

nil  boolean  number  string  userdata  function  thread  table

nil即為空,相當(dāng)于python中的None和JavaScript中的undefined/null,比較簡單;userdata為自定義變量,thread與多線程、并發(fā)有關(guān),這兩種變量不必在初學(xué)階段做過多糾結(jié),下面我們主要看看number,boolean,string,table和function。

2.1 判斷值的類型:

內(nèi)置的type()函數(shù)可以返回變量或值的類型:

print(type(nil))        --nil
print(type(true))       --boolean
print(type(12.2))       --number
print(type("hello"))    --string
print(type(print))      --function
print(type(type(nil)))  --string  此處無論type中的是何值,print出的都是string,因?yàn)閠ype()的返回值是string類型
2.2 lua中的number

lua中沒有像C/C++/Java中的整型(int/Integer),所有的數(shù)字均為雙精度浮點(diǎn)數(shù)(double/Double)。在lua中可以使用科學(xué)計(jì)數(shù)法表示數(shù)字常量,下面幾種寫法都是允許的:

4       3.1
6.6e+5  2.5e-3
2.3 lua中的boolean

lua中的boolean值和pythonJavaScript中的boolean有些區(qū)別。在pythonJavaScript中,None/null,空字符串和數(shù)字0在邏輯判斷中都會轉(zhuǎn)換為false,而在lua中,空字符串和數(shù)字0在邏輯判斷中都會轉(zhuǎn)換為true,只有nil在邏輯判斷中都會轉(zhuǎn)換為false:

if "" and 0 then
    print(true)
else
    print(false)
end

--[[
輸出結(jié)果為true
--]]
2.4 lua中的string

lua中的字符串是不可變量,這和python中相同,與C/C++/Java中不同。與pythonJavaScript一樣,lua中既可以使用單引號',也可以使用雙引號"來聲明字符串:

stringA = "This is string A"
stringB = 'The string B'

lua中也有轉(zhuǎn)義字符,如定義一個(gè)分為兩行的字符串:

stringTwoLine = "This is the first line.\nThe second line."

lua中,可以使用一對匹配的` `來界定一個(gè)字符串,如果此時(shí)該字符串的第一個(gè)字符是換行符,該換行符將會被lua忽略,此外在該字符串中所有的轉(zhuǎn)義字符如\n \t等都會被忽略,即所有的轉(zhuǎn)義字符在` `內(nèi)失效。該用法通常用來書寫含有代碼的字符串:

indexPage = [[
    <html>
        <head>
            <title>HTML Title</title>
        </head>
        <body>
            <div>Hello World</div>
        </body>
    </html>]]

print(indexPage)

與其他大多數(shù)編程語言不同,lua中不能使用+來連接字符串,而要用..來進(jìn)行連接:

> print("hello" + " world")
stdin:1: attempt to perform arithmetic on a string value
stack traceback:
    stdin:1: in main chunk
    [C]: ?
> print("hello".." world")  -- 輸出結(jié)果hello world

lua中計(jì)算字符串長度有些新奇,這里對比pythonJavaScript來看一下,方便加深印象:

len('helloworld')  # python
'helloworld'.length  // JavaScript
#'helloworld'  -- lua

lua中有兩個(gè)內(nèi)置函數(shù)tonumber()tostring()用于將string轉(zhuǎn)換為number及將number轉(zhuǎn)換為string,在轉(zhuǎn)換失敗時(shí)不會拋出異常,而是將其轉(zhuǎn)換為nil:

tonumber('1.173')  -- 1.173
tonumber('hello')  -- nil
tostring(3.14159)  -- '3.14159'
2.5 lua中的table

table是lua中僅有的數(shù)據(jù)結(jié)構(gòu)機(jī)制。table非常類似于python中的dict,只要hashable的值均可作為key的,可以簡單的認(rèn)為string和number均可作為key,如:

dataTable, newTable = {}, {}  -- 初始化table
dataTable["name"] = "jiagoushi"  -- 賦值,key="name",value="jiagoushi"
print(dataTable["name"])  -- 取值,值為"jiagoushi"
print(dataTable.name)  -- 另一種取值方式,值為"jiagoushi"
dataTable[1] = 233
print(dataTable[1])  -- 取值,值為233
dataTable[2.2] = "Beijing"
print(dataTable[2.2])  -- 取值,值為"Beijing"
print("dataTable的長度為 " .. #dataTable)  -- 與取string長度相同,#也可以用來取table的長度
for i = 1, 10 do
    newTable[i] = i * 2
end
for j = 1, #newTable do  -- 循環(huán)輸出該table中的值
    print("newTable[" .. j .. "] = " .. newTable[j])
end

關(guān)于lua中table的key值,如果使用整數(shù)的話,通常會以1作為起始值,這點(diǎn)與絕大多數(shù)編程語言習(xí)慣從0開始不同,因?yàn)?code>lua中有不少機(jī)制依賴該慣例,因此應(yīng)該多加注意。

2.5 lua中的function

pythonJavaScript相同,在lua中,函數(shù)被視為第一類值,可以被自由傳遞??匆幌潞瘮?shù)的基本用法:

-- 函數(shù)定義,有一個(gè)形參name
function sayHello(name)
    print("Hello, " .. name)
end

-- 函數(shù)調(diào)用
sayHello("Li Lei")  -- "Hello, Li Lei"
sayHello("Han Meimei")  -- "Hello, Han Meimei"

有關(guān)函數(shù)的高階內(nèi)容,放到之后的博客中繼續(xù)講解,敬請關(guān)注。

完。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

名稱欄目:Lua(一)——類型與值-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://aaarwkj.com/article2/pjioc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化全網(wǎng)營銷推廣、移動網(wǎng)站建設(shè)、虛擬主機(jī)、動態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
国产亚洲中文字幕无线乱码| 日本午夜诱惑在线观看| 日本熟女肥臀一区二区| 日本视频一曲二曲三曲四曲| 久久精品亚洲欧美激情| 免费看国产一级黄色大片| 漂亮人妻少妇中文字幕| av在线免费观看青青草原| 日本一级a级黄免视频| 久久精品国产亚洲av久一一区| 欧美亚洲一区二区三区91| 亚洲午夜福利啪啪啪| 精品人妻aⅴ一区二区| 99久久久精品国产免费| 亚洲综合色视频免费在线播放| 日韩欧美在线一区二区| 日本一区二区三区日韩欧美| 亚洲一区二区视频在线播放| 91激情黑丝在线观看| 国内不卡一区二区三区| 色香蕉精品国产综合| 国产成人一区二区三区综合区| 国产亚洲无线码一区二区| 日本精品三级一区二区视频| 欧美黄片视频在线免费看| 国产精品久久久久久久亚洲| 精华国产一区二区三区| 黄色18禁网站在线看| 91大片在线观看视频| 高h视频在线播放观看| 国产精品一区二区综合亚洲| 免费直接在线看亚洲黄色| 日木av中文字幕女女同性| 四虎影视国产精品久久| 成人免费中文字幕电影| 日本黄色中文字幕在线观看| 国产精品大片久久激情四射| 日本中文字幕三级专区| 日韩av亚洲在线观看| 激情四射五月天亚洲婷婷| 中文字幕乱码亚洲精品一区|