Transfer practice · Return "missing" only for nil, and "present" for every other value. Test false, zero and empty text.
v3 · Activity 1 of 1 · truthiness · nil · defaults · 9 min Runs here
Use a familiar idea in a different task. Read the changed requirement before running.
Return "missing" only for nil, and "present" for every other value. Test false, zero and empty text.
Interface: soundEnabled(value) -> boolean; nil input uses true.
| Input | Expected |
|---|---|
False is presentfalse | "present" |
Zero is present0 | "present" |
Empty text is present"" | "present" |
Absentnil | "missing" |
local function volumeOrDefault(volume)
if volume == nil then
return 50
end
return volume
end
return volumeOrDefaultMissing volume becomes 50, but volume 0 stays 0 because zero is not missing.
New syntax: value == nil, value or default
In a condition, only false and nil count as falsey. Zero and the empty string are truthy. Luau does not treat zero as automatically false.
value or default returns one of its operands; it is not always a boolean. This shortcut replaces both nil and false, which may be wrong for settings.
Use value == nil when absence is the specific condition you care about. Preserve false as a deliberate setting.
Select a word or symbol in this authored example. Your editor draft stays unchanged.
soundEnabledvalue
value
soundEnabledThis is a private experiment copy. It does not replace your answer or complete the activity.
These inputs apply when your scratchpad returns the function described by the activity interface.
Your output will appear here.
Replace this code with the starter? Download your draft to keep a copy.
Your output will appear here.
Sign in with RoCreators to save private progress across devices. Community verification is separate.