【Lua 筆記】延伸 for 迴圈 - part 6

由於有款遊戲叫做 CSO(Counter-Strike Online),內建模式創世者模式(Studio)新增使用 Lua 及其遊戲的 API,所以突發奇想製作這個筆記。

這個筆記會在一開始先著重純粹的程式設計自學,在最後的章節才會與 CSO 遊戲 API 進行應用。

for in 迴圈

for 迴圈分為兩類:

  • for do 迴圈
  • for in do 迴圈

之前我們說的 for 都是 for do 迴圈。

今天來談 for in do 這個迴圈,它主要是用來迭代陣列或表的。可以分別用 ipairspairs 進行處理。

迭代陣列值

範例來源:【30天Lua重拾筆記13】基礎2: 控制-for迴圈 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天

1
2
3
4
5
array = {"one", "two", "three"}

for i, v in ipairs(array) do
print(i, v)
end

輸出結果:

1
2
3
1   one
2 two
3 three

解釋一下:

  • i 是陣列的索引值
  • v 是陣列的元素值
  • ipairs() 是 lua 內建的迭代器函數,專門用於陣列或是像是陣列的 table。

除了 ipairs() 之外,也有叫做 pairs() 的,它是主要用來迭代 table 這個資料型態,我們會在後續章節當中說明到。

參考資料

【30天Lua重拾筆記13】基礎2: 控制-for迴圈 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天

Lua for 循环 | 菜鸟教程