RosettaCodeData/Task/Inverted-syntax/Pluto/inverted-syntax.pluto
2026-04-30 12:34:36 -04:00

22 lines
555 B
Text

class ibool
function __construct(b)
assert(type(b) == "boolean", "argument must be a boolean")
self.b = b
end
function iff(cond) return cond ? self.b : not self.b end
end
local itrue = new ibool(true)
local need_umbrella
local raining = true
-- Normal syntax.
if raining then need_umbrella = true end
print($"Is it raining? {raining}. Do I need an umbrella? {need_umbrella}")
-- Inverted syntax.
raining = false
need_umbrella = itrue:iff(raining)
print($"Is it raining? {raining}. Do I need an umbrella? {need_umbrella}")