For biển ý, biển) in danh sách biểu thức do khối lệnh end

Một phần của tài liệu Tài liệu Giới thiệu về Lua - Lệnh gán ppt (Trang 29)

Phát biểu lặp for có 2 dạng. Đầu tiên là lặp dạng số, ví dụ, > for count = 1,3 do print(count†) end -- lặp dạng số

123

Thứ 2 là lặp trình tự, ví đụ xuất nội dung của 1 bảng. Ở đây, for được truyền vào 1 hàm lặp là pairsQ, mục đích là cung cấp giá trị cho mỗi lần lặp:

> for key,value In pairs({ 10, math.pi, "banana”}) do print(key, value) end 110

2 3.1415926535898 3 banana 3 banana

Cấp số dạng sỐ (Numeric progression)

Dạng câp sô dạng sô của for có câu trúc: ,

for variable = từ biểu thức, đến biểu thức J, bước nháy] do khối lệnh end

Phát biểu đặt giá trị của biến vào rừ_biểu ức trước khi đi vào khối lệnh for. Khối lệnh chỉ được truy cập vào nếu biến không vượt quá giá trị

cuôi, đền_ biểu thức. Điêu này bam gôm lần đầu vòng lặp được lặp qua. Môi lần bước nhảy được thêm vào biên. Việc chỉ rõ biêu thức bước

nhảy là tùy biên (có thê có, có thê không). Nêu không chỉ rõ thì sử dụng giá trị là 1. Ví dụ,

> for 1 = 1,3 do print() end -- đêm từ 1 đên 3

123

> for ¡ = 3,1 đo print() end — đếm từ 3 về 1 trong bước nhảy 1

Zero 1(erationsl , Ộ

> for 1 = 3,1, -1 do print() end -- đêm ngược từ 3 vê 1

321

> for i=1,0,-0.25 do print() end — Chúng ta không bị giới hạn trong các số nguyên

1 0.75 0.75 0.5 0.25 0

Chú ý rằng biến ¡ sẽ chỉ có giá trị trong phạm vi của vòng lặp for, ví dụ: prmt() -- sau đoạn code trên ml

for 1= el,e2,e3 do myFunction(1) end tương đương đoạn code Lua sau: do

local 1, limit, step = tonumber(eÏl), tonumber(e2), tonumber(e3) or l

1ƒ not (¡ and limit and step) then error() end

while (step>0 and i<=limit) or (step<=0 and I>=limt) do myFunction(1) 1 = I + step

end end

Các công cụ lặp (Iterators) Dạng lặp for thứ 2 có cấu trúc:

for biển ý, biển) in danh sách biểu thức do khối lệnh end

Một phần của tài liệu Tài liệu Giới thiệu về Lua - Lệnh gán ppt (Trang 29)