Hugh Sasse wrote: > # A factory method > def create_pizza(t=[:pepperoni, :ham] named :toppings, > c=[:thin] named :crust_thickness) > imaginate(:pizza_factory).make_me(c,t) # [1] > end > > nice short vars for codeing, then > > # My toppings for today > mt=[:ham, :cheese, :pineapple] > pizza = create_pizza(mt named :toppings) > Looks interesting... I still think this is better, though class Pizza def initialize(named toppings, named crust_thickness = :thin) @toppings = toppings @crust_thickness = crust_thickness end end pizza = Pizza.new :crust_thickness => :really_thick, :toppings => [:pepperoni, :ham] Cheers, Daniel