Control Flow Details
If Else Branches
Lua if and else branches choose one of two paths.
two branches
The condition controls which assignment runs before the shared output.
If Else Branches
if_else_branches.lua
Replay: real traced execution (multi-file project)
local score = 82
local result = ""
if score >= 80 then
result = "pass"
else
result = "review"
end
print("score=" .. score)
print("result=" .. result)
local score = 65
local result = ""
if score >= 80 then
result = "pass"
else
result = "review"
end
print("score=" .. score)
print("result=" .. result)
local score = 95
local result = ""
if score >= 80 then
result = "pass"
else
result = "review"
end
print("score=" .. score)
print("result=" .. result)
score ← 82, result ← (empty)
1local score→ 82 = 82 --@score=65, 952local result→ (empty) = ""result ← pass
4if score82 >= 80 then5 result→ pass = "pass"6elseprint("score=" .. score)
10print("score=" .. score82)11print("result=" .. resultpass)outputscore=82 result=pass
score ← 65, result ← (empty)
1local score→ 65 = 652local result→ (empty) = ""result ← review
5 result = "pass"6else7 result→ review = "review"8endprint("score=" .. score)
10print("score=" .. score65)11print("result=" .. resultreview)outputscore=65 result=review
score ← 95, result ← (empty)
1local score→ 95 = 952local result→ (empty) = ""result ← pass
4if score95 >= 80 then5 result→ pass = "pass"6elseprint("score=" .. score)
10print("score=" .. score95)11print("result=" .. resultpass)outputscore=95 result=pass
Choose Pass or Review
scorestarts at82.- The check
score >= 80is true. - The
ifbranch runs. resultbecomespass. | Score | Branch | Result | | --- | --- | --- | |65|else|review| |82|if|pass| |95|if|pass|
Exercise: if_else_branches.lua
Use if and else to print pass for scores at least 80 and review otherwise