【Lua 筆記】延伸 for 迴圈 - part 6
===
目錄(Table of Contents):
[TOC]
---
由於有款遊戲叫做 CSO(Counter-Strike Online),內建模式創世者模式(Studio)新增使用 Lua 及其遊戲的 API,所以突發奇想製作這個筆記。
這個筆記會在一開始先著重純粹的程式設計自學,在最後的章節才會與 CSO 遊戲 API 進行應用。
for in 迴圈
---
for 迴圈分為兩類:
- for do 迴圈
- for in do 迴圈
之前我們說的 for 都是 for do 迴圈。
今天來談 for in do 這個迴圈,它主要是用來迭代陣列或表的。可以分別用 `ipairs`、`pairs` 進行處理。
### 迭代陣列值
---
範例來源:[【30天Lua重拾筆記13】基礎2: 控制-for迴圈 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天](https://ithelp.ithome.com.tw/articles/10244489)
```lua=
array = {"one", "two", "three"}
for i, v in ipairs(array) do
print(i, v)
end
```
輸出結果:
```
1 one
2 two
3 three
```
解釋一下:
- i 是陣列的索引值
- v 是陣列的元素值
- ipairs() 是 lua 內建的迭代器函數,專門用於陣列或是像是陣列的 table。
除了 ipairs() 之外,也有叫做 pairs() 的,它是主要用來迭代 table 這個資料型態,我們會在後續章節當中說明到。
參考資料
---
[【30天Lua重拾筆記13】基礎2: 控制-for迴圈 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天](https://ithelp.ithome.com.tw/articles/10244489)
[Lua for 循环 | 菜鸟教程](https://www.runoob.com/lua/lua-for-loop.html)