From: "trans. (T. Onoma)" Date: 2004-10-23T22:49:32+09:00 Subject: Re: Too many default argument values! On Friday 22 October 2004 07:24 pm, Tim Hunter wrote: | def text(text, x, y, dx, dy, rotate, styles) | # blah, blah blah | end | | Here the last 6 arguments are optional! Since I want to use a consistent | style among all these methods, I need to choose a solution for `text' and | use it for `rect' as well. The simplest thing to do would be to (as other | people have suggested) put the optional arguments in with the `style' hash, | but I'm reluctant to mix both style and non-style arguments like that. | | Back to the drawing board. I'm going to review all the suggestions in this | thread for illumination and advice. Recall that I was having s similar problem. I took a page out of Rich Kilmer's work and created a couple self returning methods, so applied to your case something like: Rectangle.new(x,y).d(dx, dy).rotate(r).styles(s) Such that def d(x,y) @dx = x @dy = y self end # etc. T.