RosettaCodeData/Task/List-comprehensions/Lua/list-comprehensions-2.lua

16 lines
367 B
Lua

function get(key)
return (function(arg) return arg[key] end)
end
function is_pythagorean(arg)
return (arg.x^2 + arg.y^2 == arg.z^2)
end
function list_pythagorean_triples(n)
return LC:new():range("x",1,n):range("y",1,get("x")):range("z", get("y"), n):where(is_pythagorean).iter
end
for arg in list_pythagorean_triples(100) do
print(arg.x, arg.y, arg.z)
end