v3 · Activity 11 of 12 · composition · reuse · 10 min Runs here
A helper contains one named rule. A larger function calls it rather than repeating its implementation.
Composition means using the result of one function in another calculation. Keep inputs and returned results visible so the larger behavior is easy to trace.
Repair pairPrice so the packaging fee applies to both first and second. Keep the withFee helper available as the shared rule. Keep the final return shown in the starter so the checker can call or inspect your result.
Interface: pairPrice(first, second) -> number
| Input | Expected |
|---|---|
Two small items3, 4 | 11 |
Free base items0, 0 | 4 |
local function withFee(base)
return base + 2
end
local function pairPrice(first, second)
return withFee(first) + withFee(second)
end
return pairPriceTwo helper calls apply the same fee consistently. Changing the fee in one place updates both items.
New syntax: calling a function from another function
A helper contains one named rule. A larger function calls it rather than repeating its implementation.
Composition means using the result of one function in another calculation. Keep inputs and returned results visible so the larger behavior is easy to trace.
Here each item costs its base amount plus a fixed packaging charge of 2. Calculate both items with the same helper before adding the results.
Select a word or symbol in this authored example. Your editor draft stays unchanged.
withFeebase
base 2
pairPricefirst, second
withFeefirst second
pairPriceThis 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.