From: Daniel Schierbeck Date: 2005-10-29T08:47:04+09:00 Subject: Re: "Readability" inflation Pete wrote: >> pizza = Pizza.new :crust_thickness => :really_thick, >> :toppings => [:pepperoni, :ham] > > > looks like a hash, if you ask me... > > so what the extra keyword for ?? > In my example, the value :really_thick will be assigned to the method's local variable `crust_thickness', and `[:pepperoni, :ham]' to `toppings'. Otherwise, you would have to do the following: def initialize(opts) opts[:crust_thickness] ||= :thin @toppings = opts[:toppings] @crust_thickness = opts[:crust_thickness] end Which of course would be even more confusing if there were a great many keywords.