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

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

如何理解lua的語(yǔ)法糖

2022-05-09 10:11 作者:只有神知道的歌詞特效  | 我要投稿

來(lái)源鏈接:https://zhuanlan.zhihu.com/p/285825344

這篇文章源于我看到某乎某用戶覺(jué)得lua語(yǔ)法“違反直覺(jué)”,我覺(jué)得有這感覺(jué)源于lua的語(yǔ)法糖,如果流于表面的把這些加糖后的語(yǔ)法往C,C#,java等語(yǔ)義上套確實(shí)容易產(chǎn)生誤解。另外xLua群上也經(jīng)常會(huì)問(wèn)些因?yàn)閷?duì)語(yǔ)法理解問(wèn)題導(dǎo)致問(wèn)題。

lua里頭一些很常見(jiàn)的語(yǔ)法,其實(shí)都是加了糖。比如這個(gè):

去糖后其實(shí)是這樣的,

去糖后更清晰了,a是table,table本質(zhì)上就是一個(gè)hashmap,我們往一個(gè)hashmap里頭設(shè)置了鍵值對(duì)。

再看這個(gè):

第一次去糖后是這樣:

再按照文章開(kāi)篇第一個(gè)語(yǔ)法糖再去一次糖,就變成了

所以,仍然是對(duì)一個(gè)hashmap設(shè)置鍵值對(duì),只不過(guò)值相對(duì)于c/c#/java比較特殊,這是個(gè)function(準(zhǔn)確來(lái)說(shuō)是一個(gè)closure),因?yàn)閘ua里頭函數(shù)是first-class的,可以作為一個(gè)普通值來(lái)處理。

再來(lái)

一次脫糖

二次脫糖就比較復(fù)雜,分兩種情況:前面有l(wèi)ocal變量add,前面沒(méi)有。

前面有l(wèi)ocal add,其實(shí)就是對(duì)add變量的一次賦值,如果沒(méi)有,還要脫糖:

其實(shí)就是對(duì)一個(gè)特殊的table設(shè)置鍵值對(duì)。

跟著來(lái)一個(gè)導(dǎo)致很多人踩坑的冒號(hào)語(yǔ)法糖:

脫糖后是這樣的

和冒號(hào)語(yǔ)法糖相關(guān)的語(yǔ)法糖

一次脫糖后是這樣

注意,你按脫糖后的寫(xiě)法,那個(gè)self你寫(xiě)啥名字都可以。


如何理解lua的語(yǔ)法糖的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
潜江市| 鄯善县| 明星| 宁城县| 涞水县| 博爱县| 河东区| 涿州市| 叶城县| 正安县| 阳山县| 桐梓县| 延边| 原平市| 峨眉山市| 平遥县| 鱼台县| 淮安市| 固镇县| 大关县| 永城市| 长顺县| 龙里县| 苏州市| 汉寿县| 普安县| 栾城县| 许昌县| 射洪县| 桑植县| 玛多县| 道真| 莱西市| 昌平区| 屯门区| 娱乐| 墨玉县| 石首市| 乃东县| 蕲春县| 大丰市|