Every time I run the print statement I get an error (at the line of the print not in my function) that says " attempt to index a nil value" If anyone could explain to me what's causing this I would very much appreciate it. c:
local function getMostDramatic(axis,up,tab) local most=tab[0] for i, v in pairs(tab) do if up then if axis=="x" then if v.x>most.x then most=v end elseif axis=="y" then if v.y>most.y then most=v end end elseif not up then if axis=="x" then if v.x<most.x then most=v end elseif axis=="y" then if v.y<most.y then most=v end end end end end --The line that is causing the error is right here and not up in my function. print(getMostDramatic("x",true,{Vector2.new(2,0),Vector2.new(10,0)}).x)
You either have too many ends, or not enough ends...let me see... Using tabs can help you organize your code. Spaces make it hard to read
local function getMostDramatic(axis,up,tab) local most=tab[0] for i, v in pairs(tab) do if up then if axis=="x" then if v.x>most.x then most=v end elseif axis=="y" then if v.y>most.y then most=v end end elseif not up then if axis=="x" then if v.x<most.x then most=v end elseif axis=="y" then if v.y<most.y then most=v end end end end end print(getMostDramatic("x",true,{Vector2.new(2,0),Vector2.new(10,0)}).x)
Did you see what I fixed? You missed not one, but TWO ends!
Organize your code so that you don't make simple mistakes. Trust me, I catch myself with not enough ends a lot.