--0015174beb841ff16e046d682ad9 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit > Anyway, "WAY too much overhead" makes no sense. Too much for what? What > percentage slower does your entire application run with this code? (My > guess: <1%). So if this code does what you want, and you like the way it > looks - i.e. it's easy to maintain and pleasing to work with - then > that's usually worth it. Alright, I admit, that wasn't very differentiated from my side... What I meant to say was: It SEEMS/FEELS to me like useless overhead (however small) to construct a new array for a setter when all you have to do is type one ore, BUT I haven't benchmarked that and I don't intend to ;-). But that's just my POV. If you like that method better -- noones keeping you from using it. And I admit, for DSLs it is pretty nice. I'd use it there. > Nothing bject.new > def name(value othing) > @name alue unless value Nothing > @name > end Or Daniel's method. But for any normal class that does not provide DSL semantics, I'd still go with normal getters and setters. I just don't see the point of reducing the amount of my typing by a single when on the other hand I have to either construct a whole array each time or introduce a new neutral element. To mee that just doesn't feel right, I guess... --0015174beb841ff16e046d682ad9--