国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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教程三的評論 (共 條)

分享到微博請遵守國家法律
崇明县| 营口市| 辉县市| 二手房| 松桃| 三台县| 石楼县| 临邑县| 共和县| 博湖县| 深圳市| 新竹市| 淅川县| 奈曼旗| 平江县| 雷山县| 万盛区| 亚东县| 凌云县| 类乌齐县| 浮梁县| 荆州市| 游戏| 当阳市| 苍南县| 湛江市| 梨树县| 江达县| 磐石市| 万全县| 黄冈市| 五家渠市| 万州区| 洛阳市| 双桥区| 龙游县| 成安县| 周宁县| 延津县| 鄂托克前旗| 贵州省|