some of my procs can have no result so I'd like them to return false or a
value. For now I have
proc lintersect(p1, p2, p3, p4: Vec2, segments=false): (bool, Vec2) =
.
if parallel
return (false, vec2(0,0))
.
.
return (true, vec2(x,y))
Run
proc findCentre(d1, p1, p2,: Vec2): Vec2 =
let
p11 = p1+vec2(-d1.x, d1.y)
p22 = p2+d1
c = lintersect(p1,p11,p2,p22)
if c[0]==true:
result = c[1]
Run
echo findCentre results in (0,0), a value, even if c[0] = false. Do I have to
keep carrying the (bool, vec2) tuple along or is there a way to return None,
False ...?