From: Dave Thomas Date: 2004-02-20T02:42:00+09:00 Subject: Change to #new (was OpenStruct#initialize to yield self) On Feb 19, 2004, at 6:50, Gavin Sinclair wrote: > This is a common approach I use to object initialization; I don't know > about other people. Thought it was worth mentioning it here. It > allows code like the following: > > record = OpenStruct.new do |r| > r.name = "John Smith" > r.age = 70 > r.pension = 300 > end << patch chopped >> As more general suggestion. Could 'new' yield the new object is a block is given? This behavior could then be overridden by the classes where this isn't appropriate (such as hash). Cheers Dave