From: jarnaud@... Date: 2006-02-12T14:12:31+09:00 Subject: methods and default values Hi all, let's say that I have a very nice: class Text def initialize(text, bold="no", italic="no", color="black") @text=text @bold=bold @italic=italic @color=color end end class TextSet def initialize @texts=Array.new end def add(text) @texts.push(text) end end Let's say I dont want to have a attr_writer :italic, :bold, :color for TextSet because I want my code to look like foo = TextSet.new foo.add(Text.new("Hello, my name is")) foo.add(Text.new("Jerome")) as opposed to foo = TextSet.new text1=Text.new(Text.new("Hello, my name is")) text2=Text.new(Text.new("Jerome")) foo.add(text1) foo.add(text2) Ok, you follow me? Now let's talk about default value for the Text constructor. Let's say I want my name (Jerome) in green. I have to do foo.add(Text.new("Hello, my name is", "no, "no, "green")), right? Question: I'd like to get rid of the useless "no", "no". Is there a way to specify, that I want an instance of the object with the default parameters except for one? Thanks for your ideas