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

歡迎光臨散文網(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ó)家法律
洛川县| 铅山县| 云南省| 浦江县| 文成县| 建昌县| 武邑县| 凤城市| 嵊泗县| 广丰县| 冀州市| 白山市| 伊春市| 莱西市| 双峰县| 岢岚县| 巴彦县| 芷江| 浮山县| 图们市| 岑溪市| 鸡西市| 莆田市| 河源市| 海丰县| 札达县| 平远县| 长沙市| 夏河县| 九江县| 张家界市| 南汇区| 中江县| 玉树县| 玉林市| 镇雄县| 天长市| 甘南县| 三江| 包头市| 天气|