欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Lua中的操作符和表達(dá)式總結(jié)

 更新時(shí)間:2014年09月29日 09:32:27   作者:果凍想  
這篇文章主要介紹了Lua中的操作符和表達(dá)式總結(jié),本文總結(jié)了算術(shù)操作符、關(guān)系操作符、邏輯操作符、字符串連接、table構(gòu)造式等,需要的朋友可以參考下

前言

這里總結(jié)的內(nèi)容和其它語言的基本類似,所以這里就只是基本的進(jìn)行總結(jié)。不做詳細(xì)的講解。

算術(shù)操作符

Lua支持常規(guī)的算術(shù)操作符有:”+”(加法),”-”(減法),”*”(乘法),”/”(除法),”^”(指數(shù)),”%”(取模),一元的”-”(負(fù)號(hào))。所有的這些操作符都用于實(shí)數(shù)。例如:x^0.5將計(jì)算x的平方根,x^3將計(jì)算x的3次方。

關(guān)系操作符

Lua提供的關(guān)系操作符有:”<”,”>”,”<=”,”>=”,”==”,”~=”;所有這些操作符的運(yùn)算結(jié)果都是true或false。

操作符==用于相等性測(cè)試,操作符~=用于不等性測(cè)試。這兩個(gè)操作符可以應(yīng)用于任意兩個(gè)值。如果兩個(gè)值具有不同的類型,Lua就認(rèn)為它們是不相等的;特別需要說明的是,nil只與其自身相等。

對(duì)于table、userdata和函數(shù),Lua是作引用比較的。也就是說,只有當(dāng)它們引用同一個(gè)對(duì)象時(shí),才認(rèn)為它們相等。

邏輯操作符

Lua提供的邏輯操作符有and、or和not。與條件控制語句一樣,所有的邏輯操作符將false和nil視為假,而將其它的任何東西視為真。對(duì)于操作符and來說,如果它的第一個(gè)操作數(shù)為假,就返回第一個(gè)操作數(shù);不然就返回第二個(gè)操作數(shù)。對(duì)于操作符or來說,如果它的第一個(gè)操作數(shù)為真,就返回第一個(gè)操作數(shù);不然就返回第二個(gè)操作數(shù)。這里和C++等語言是存在區(qū)別的,Lua的邏輯操作符并不是簡(jiǎn)單的返回true或false,而是返回操作數(shù)的值。例如以下代碼:

復(fù)制代碼 代碼如下:

print(4 and 5)               -->5
print(nil and 13)          -->nil
print(false and 13)     -->false
print(4 or 5)               -->4
print(false or 5)          -->5

and和or都使用“短路求值”,也就是說,它們只會(huì)在需要時(shí)才去評(píng)估第二個(gè)操作數(shù)。

字符串連接

要在Lua中連接兩個(gè)字符串,可以使用操作符“..”(兩個(gè)點(diǎn))。如果其任意一個(gè)操作數(shù)是數(shù)字的話,Lua會(huì)將這個(gè)數(shù)字轉(zhuǎn)換成一個(gè)字符串。在Lua中,字符串是不可變的值,連接操作符只會(huì)創(chuàng)建一個(gè)新字符串,而不會(huì)對(duì)其原操作數(shù)進(jìn)行任何修改。

table構(gòu)造式

構(gòu)造式是用于創(chuàng)建和初始化table的表達(dá)式。最簡(jiǎn)單的構(gòu)造式就是一個(gè)空構(gòu)造式{},用于創(chuàng)建一個(gè)空table。構(gòu)造式還可以用于初始化數(shù)組,數(shù)組的下標(biāo)從1開始。例如:

復(fù)制代碼 代碼如下:

local tbDays ={"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}
print(tbDays[1])          -->Sunday
print(tbDays[2])          -->Monday
print(tbDays[3])          -->Tuesday
print(tbDays[4])          -->Wednesday
print(tbDays[5])          -->Thursday
print(tbDays[6])          -->Friday
print(tbDays[7])          -->Saturday

Lua還提供了一種特殊的語法用于初始化table:
復(fù)制代碼 代碼如下:

local tb1 = {x=10, y=20}
print(tb1.x)          -->10
print(tb1["x"])          -->10

除此之外,Lua還提供了一種更通用的格式,這種格式允許在方括號(hào)之間,顯式地用一個(gè)表達(dá)式來初始化索引值,例如:
復(fù)制代碼 代碼如下:

local tb1 = {["+"] = "add", ["-"] = "sub", ["*"] = "mul", ["/"] = "div"}
print(tb1["+"])

比如local tb1 = {x=10, y=20}這種構(gòu)造方式,其實(shí)是和local tb1 = {["x"] = 10, ["y"] = 20}是等價(jià)的。在實(shí)際編程中,這兩種構(gòu)造式,都可以替換的用。

總結(jié)

純粹的學(xué)習(xí)筆記,沒有什么可以多說的了。希望對(duì)大家學(xué)習(xí)Lua有用。

相關(guān)文章

  • Lua教程(三):C語言、C++中調(diào)用Lua的Table示例

    Lua教程(三):C語言、C++中調(diào)用Lua的Table示例

    這篇文章主要介紹了Lua教程(三):C語言、C++中調(diào)用Lua的Table示例,即在C語言、C++中讀取、操作Lua的Table,需要的朋友可以參考下
    2014-09-09
  • Lua中rawset和rawget的作用淺析

    Lua中rawset和rawget的作用淺析

    這篇文章主要介紹了Lua中rawset和rawget的作用淺析,本文分別用兩段代碼演示了rawset和rawget的作用,需要的朋友可以參考下
    2015-04-04
  • Lua腳本獲取喜馬拉雅MP3音頻地址

    Lua腳本獲取喜馬拉雅MP3音頻地址

    這篇文章主要介紹了Lua腳本獲取喜馬拉雅MP3音頻地址,本文直接給出代碼實(shí)例,需要的朋友可以參考下
    2015-04-04
  • Lua中遍歷數(shù)組和table的4種方法

    Lua中遍歷數(shù)組和table的4種方法

    這篇文章主要介紹了Lua中遍歷數(shù)組和table的4種方法,本文講解了使用for遍歷、迭代器的方式遍歷等方法,同時(shí)提供一個(gè)復(fù)雜table的的遍歷方法,需要的朋友可以參考下
    2015-04-04
  • 編寫高性能Lua代碼的方法

    編寫高性能Lua代碼的方法

    這篇文章主要介紹了編寫高性能Lua代碼的方法,本文是基于Lua語言的創(chuàng)造者Roberto Ierusalimschy的一篇文章翻譯改寫而來,需要的朋友可以參考下
    2014-10-10
  • Lua教程(四):函數(shù)詳解

    Lua教程(四):函數(shù)詳解

    這篇文章主要介紹了Lua教程(四):函數(shù)詳解,本文講解了多重返回值、變長(zhǎng)參數(shù)、具名實(shí)參、閉合函數(shù)、匿名函數(shù)、非全局函數(shù)等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Lua中..和#運(yùn)算符的使用方法

    Lua中..和#運(yùn)算符的使用方法

    這篇文章主要介紹了Lua中..和#運(yùn)算符的使用方法,是Lua入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • Lua之協(xié)同程序coroutine代碼實(shí)例

    Lua之協(xié)同程序coroutine代碼實(shí)例

    這篇文章主要介紹了Lua之協(xié)同程序coroutine代碼實(shí)例,本文給出的代碼示例較為復(fù)雜,需要對(duì)Lua協(xié)同程序有一定的了解方能看懂,需要的朋友可以參考下
    2015-04-04
  • lua中使用毫秒精度時(shí)間的方法

    lua中使用毫秒精度時(shí)間的方法

    這篇文章主要介紹了lua中使用毫秒精度時(shí)間的方法,本文講解使用luasocket庫實(shí)現(xiàn)毫秒精度時(shí)間,需要的朋友可以參考下
    2015-04-04
  • 詳解Lua中的元表和元方法

    詳解Lua中的元表和元方法

    Lua中的元表(Metatable)和元方法(Metamethods)是Lua語言中的重要概念,它們?cè)试S我們對(duì)對(duì)象和操作進(jìn)行自定義,本文講給大家詳細(xì)介紹一下Lua中的元表和元方法,需要的朋友可以參考下
    2023-09-09

最新評(píng)論