五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【系列】潛水黨的簡單lua教程三

2023-06-14 02:38 作者:未晞_a  | 我要投稿

上一篇文章聊到過table和函數(shù)的基本寫法。

這次便快速的講一遍lua里的一些運算符,了解運算符很重要,因為之后地圖內(nèi)需要實現(xiàn)效果時,會依靠大量的運算符來實現(xiàn)算法公式。


加法公式:

num?= 1+1

?-- 其中 + 就是加法運算符,num的結(jié)果等于2


減法公式:

num = 1 - 1

-- 其中 - 就是減法運算符,num的結(jié)果等于0


乘法公式:

num = 1 * 1

-- 其中 * 就是乘法運算符,num結(jié)果等于1


除法公式:

num = 1 / 1

-- 其中 / 就是除法運算符,num結(jié)果等于1


除了以上四種基本的加減乘除運算符以外,lua中還存在四種運算符。


取余:

num = 1 % 1?--?num結(jié)果等于0


既然1 % 1 = 0 ,那么取余到底是什么意思呢?

取余就是模運算,也是blizzard.j里面的< ModuloReal > or <?ModuloInteger >函數(shù)。

bj里面的<?ModuloInteger?>函數(shù)寫法是,被除數(shù)為a,除數(shù)為b

x =?a - (a / b) * b

如果?x < 0 那么x = x + b

返回 x(取余)


但是在< ModuloReal >函數(shù)里多了一個步驟。

它修改了 x =?a - (a / b) * b?

將其修改為?x =?a -?I2R(R2I(a / b)) * b


< R2I >函數(shù)是什么意思呢?轉(zhuǎn)實數(shù)為整數(shù),并且舍棄小數(shù)點后的數(shù),不會進行四舍五入。

< I2R?>函數(shù)是什么意思呢?轉(zhuǎn)整數(shù)為實數(shù)。

這里并不是多此一舉,之前說了,如果被除數(shù)無法被整除,那么整除后剩下的數(shù)便是取余數(shù)。

只有轉(zhuǎn)實數(shù)為整數(shù),才能確保獲取的值絕對為整數(shù),因此獲得的取余數(shù)才是準確的。


可能有的朋友看不懂上面到底是什么意思,這里再做一個最簡單不過的例子:


num = 13 % 5 -- num結(jié)果等于3


這個時候你會發(fā)現(xiàn),num不再是零,但它為什么等于3呢?


這里寫兩個簡單的公式:

13 / 5 = 2.6 -- 結(jié)果:13無法被5整除

10 / 5 = 2 -- 結(jié)果:10可以被5整除


那么10和13有什么區(qū)別呢?區(qū)別就在于多出來的3無法被5整除。

所以了,無法被整除的數(shù),就是取余的值。

實數(shù)取余也是如此,取余的規(guī)則并不會因為你用的數(shù)不同而產(chǎn)生變化。


乘冪:

num = 1 ^ 1 -- 結(jié)果num等于1


乘冪里面 1 ^ 1 結(jié)果依然是1,那么乘冪的意思是什么呢?

如果把乘冪叫做乘方、次方,是不是就熟悉多了呢?

以下是關(guān)于次方的一些規(guī)則:

1的次方等于1

1的任何次方依然是等于1

1的零次方等于1

任何數(shù)的零次方都等于1


乘冪的定義:設(shè)a為任意數(shù),n為正整數(shù),a的n次方表示為a?,表示n個a連乘所得之結(jié)果。

例:

x = 2?^ 10?

x = 2?* 2?* 2 *?2?* 2?* 2?* 2 *?2 *?2 *?2

x = 4?* 4?*?4?* 4 * 4

x = 1024


負號:

num = -1 -- 結(jié)果num等于-1

任何數(shù)加上負號,都會是返回負數(shù)。


整除:

num = 13 // 5 -- 結(jié)果num等于2

整除的概念已經(jīng)在取余中提到,這里就不多做贅述。

不過這里的整除運算符需要提到的一點是,// 在大多數(shù)的程序語言里面,都是作為注釋符號出現(xiàn)的,而lua里面的注釋符號是--


關(guān)系運算符:

== :等于,檢測兩個值是否相等,相等返回 true,否則返回 false

例:1 == 2?返回否(false)


~= :不等于,檢測兩個值是否相等,不相等返回 true,否則返回 false

例:1?~= 2 返回真(true)

這里需要說明的是,在其他程序語言里,不等于大多數(shù)為!=

而lua里面不等于是~=


> :大于,如果左邊的值大于右邊的值,返回 true,否則返回 false

例:1 > 2 返回否(false)?


< :小于,如果左邊的值大于右邊的值,返回 true,否則返回 false

例:1 <?2 返回真(true)


>= :大于,如果左邊的值大于右邊的值,返回 true,否則返回 false

例:1 >= 2 返回否(false)?


<= :小于,如果左邊的值大于右邊的值,返回 true,否則返回 false

例:1 <=?2 返回真(true)


邏輯運算符:

and :左右條件均成立時,返回真(true),否則返回否(false)

or :左右任意一個條件成立時,返回真(true),否則返回否(false)


not :相反條件成立時,返回真(true),否則返回否(false)

例:not(true)== false, not(false) == true


其他運算符:

.. :連接兩個字符串

例:‘王大錘’..‘家里著火’, 輸出結(jié)果為王大錘家里著火


# :返回字符串或table的長度

例:#‘a(chǎn)bc’,輸出結(jié)果為3

【系列】潛水黨的簡單lua教程三的評論 (共 條)

分享到微博請遵守國家法律
灌阳县| 阜平县| 共和县| 孝感市| 汕尾市| 宜城市| 宝丰县| 襄城县| 漳平市| 内丘县| 新丰县| 临海市| 石狮市| 万载县| 长葛市| 喀喇沁旗| 柞水县| 桃江县| 闵行区| 抚远县| 兴化市| 噶尔县| 衡南县| 白城市| 比如县| 明水县| 曲沃县| 岑巩县| 芜湖县| 鲜城| 平阴县| 高州市| 遵义市| 出国| 连南| 长汀县| 饶河县| 两当县| 通辽市| 莱芜市| 大英县|