--0015174c37b4f9d8c6046d5aa161 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit > Though again, do you have a real example of > when you nil out a set value? I can't picture why I'd do that Just imagine you're building some sort of a binary tree structure. You'd have inner nodes and leafs and you'd probably want to represent the leafs with nil. Now when you remove a node at some point, you'll have to set the #left_child accessor (or whatever you like to call it) to nil... Or take an options hash which has to provide a "default" state so the system can decide whether or not an option was explicitly set. You'd probably want to use nil for that (at least I would ;-) I have to say: nil is one of the nicest features of dynamically typed languages - just imagine using java without it... I use it all the time. etc. etc. > def name(*args) > return @name if args.empty? > @name rgs.first > end Better, but IMHO that's WAY too much overhead for something as basic as a setter. After all, you have to construct an array everytime you access the setter... Greetz, k --0015174c37b4f9d8c6046d5aa161--