一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Lua - Lua的堆棧淺析

Lua的堆棧淺析

2019-11-23 18:31笨木頭 Lua

這篇文章主要介紹了Lua的堆棧淺析,本文參考游戲人工智能編程案例精粹中的Lua堆棧索引圖,畫出了自己的一張理解圖,需要的朋友可以參考下

上一章傳送門:http://www.ythuaji.com.cn/article/32724.html
 
經過上一章的講解,相信大家也看到了,Lua的堆棧是很重要不可或缺的,就像我的旁白一樣(旁白:他竟然贊我了。。。好羞澀~)。雖然看起來沒什么用,但是少了又絕對不行。
(旁白:你妹紙的,你這算是贊人嗎?)

在這里我僅簡單解釋一下Lua堆棧的索引,因為我們在很多操作里都涉及到堆棧的索引,比如上一章中我們要從堆棧中取得一個字符串,就必須給出堆棧索引:

復制代碼代碼如下:

/* 獲取棧頂的值 */
    const char* str = lua_tostring(pL, 1);


如果對堆棧索引不清晰的話,將會很糾結。

 

《游戲人工智能編程案例精粹》一書的200頁,有一張圖,很好地表達了Lua的堆棧索引是如何定義的,我照著畫了一張:

Lua的堆棧淺析

(旁白:好丑~!而且還打了一個廣告,別以為我不知道~!)
 
我們很明顯的看到堆棧的索引方式有兩種,一種是正數索引,一種是負數索引。
并且咋一看,好像兩種索引方式的規則是相反的,其實不然,我們來認真數數:
1. 正數索引,棧底是1,然后一直到棧頂是逐漸+1,最后變成9(9大于1)
2. 負數索引,棧底是-9,然后一直到棧頂是逐漸+1,最后變成-1(-1大于-9)
(旁白:這,這還真的是一樣的~!好神奇!)

對吧,一般像旁白那種人才會認為是相反的規則。
(旁白:吐槽是我的專利= =!)
 
大家不覺得奇怪嗎?為什么要用兩種方式?好混亂~!
我也覺得,但是有一點好處,看看它們各自的好處:
1. 正數索引,不需要知道棧的大小,我們就能知道棧底在哪,棧底的索引永遠是1
2. 負數索引,不需要知道棧的大小,我們就能知道棧頂在哪,棧頂的索引永遠是-1
(旁白:又好像有那么一點道理。。。)
 
 
OK,本章到此結束。

延伸 · 閱讀

精彩推薦
  • LuaLua實現__add方法重載示例

    Lua實現__add方法重載示例

    這篇文章主要介紹了Lua實現__add方法重載示例,本文直接給出實現代碼,需要的朋友可以參考下 ...

    腳本之家7452020-04-24
  • LuaLua中的元方法__newindex詳解

    Lua中的元方法__newindex詳解

    這篇文章主要介紹了Lua中的元方法__newindex詳解,本文講解了查詢與更新、監控賦值、通過table給另一個table賦值等內容,需要的朋友可以參考下 ...

    笨木頭8872020-04-09
  • Lua深入探究Lua中的解析表達式

    深入探究Lua中的解析表達式

    這篇文章主要介紹了深入探究Lua中的解析表達式,對于其語法部分的說明和示例都超詳細,極力推薦此文!需要的朋友可以參考下 ...

    腳本之家3542020-05-05
  • LuaLua中計算、執行字符串中Lua代碼的方法

    Lua中計算、執行字符串中Lua代碼的方法

    這篇文章主要介紹了Lua中計算、執行字符串中Lua代碼的方法,類似JavaScript中eval函數的功能,在Lua中也可以實現,需要的朋友可以參考下 ...

    腳本之家6322020-04-30
  • LuaLua中table庫函數方法介紹

    Lua中table庫函數方法介紹

    這篇文章主要介紹了Lua中table庫函數方法介紹,本文講解了concat、insert、maxn、remove、sort、foreachi等方法,需要的朋友可以參考下 ...

    腳本之家2502020-04-17
  • LuaLua和C語言的交互詳解

    Lua和C語言的交互詳解

    這篇文章主要介紹了Lua和C語言的交互詳解,Lua和C語言通過棧完成交互,本文結合代碼實例詳細講解了交互的方法,需要的朋友可以參考下 ...

    果凍想3702020-04-14
  • LuaLua簡介、編譯安裝教程及變量等語法介紹

    Lua簡介、編譯安裝教程及變量等語法介紹

    這篇文章主要介紹了Lua簡介、編譯安裝教程及變量等語法介紹,本文同時講解了lua注釋語法、Lua命令行方式等內容,需要的朋友可以參考下 ...

    junjie3632020-04-14
  • LuaLua教程(二):基礎知識、類型與值介紹

    Lua教程(二):基礎知識、類型與值介紹

    這篇文章主要介紹了Lua教程(二):基礎知識、類型與值介紹,本文講解了Hello World程序、代碼規范、全局變量、類型與值等內容,需要的朋友可以參考下 ...

    腳本之家5922020-04-28
主站蜘蛛池模板: 亚洲精品高清中文字幕完整版 | 午夜dj影院在线观看完整版 | chinaese中国女人厕所小便 | 闺蜜高h | 色人阁小说| 美女的隐私无遮挡的网页 | 美女扒开腿让男人桶爽免费gif | 国产专区一va亚洲v天堂 | 精品国产91久久久久久久a | 亚洲国产日韩制服在线观看 | 精品高潮呻吟99AV无码视频 | 操极品女神| 日本一区二区三区久久 | 欧美在线视频免费播放 | 亚洲国产精品91 | 大奶喷水 | 免费jizz在在线播放国产 | 精品在线视频一区 | 免费看日产一区二区三区 | bestialityvideo另类| 高清在线免费观看 | 毛片免费观看的视频 | 操碰人人| 国产精品亚洲综合第一区 | 女人又色又爽又黄 | porno中国xxxxx | 2022色婷婷综合久久久 | 日本69sex护士www | 国产成年人网站 | 天天快乐在线观看 | 久久精品嫩草影院免费看 | 国产一区日韩二区欧美三区 | 久久综合久久伊人 | 啪啪大幂幂被c | 狠狠干日日操 | 美女被到爽流动漫 | 欧美性高清另类videosex死尸 | 女女宿舍互慰h文小说 | 久久91精品国产91 | japanhd粗暴video | 99re热这里只有精品视频 |