Nim's compiler is insensitive to underscores, such that _x and x are the exact 
same thing, unlike in other languages (it's also case-insensitive, with the 
exception of the first letter).

There's ways to do what you're trying to do there, although I'm not the best 
person to tell you what's the most sensible way. The following might work, and 
maybe it could also be done with simple templates: 
    
    
    # keep properties private...
    type
        Euler* = object
            x, y, z, a, b, c: float64
    
    # ... but expose methods like these
    method `x`*(this: Euler): float64 =
        this.x    # btw, you can use implicit "return" in this case
    
    method `x=`*(this: Euler, x:float64) =
        this.x = x
    
    
    Run

Reply via email to