[4:06pm] butblack: ok, and why wouldn't the class just have those attributes in an initialize method?
[4:07pm] Spooner: Because it is marginally quicker to use Struct as a base, rather than explicitly have attr_accessors and a defined #initialize.
[4:07pm] Spooner: There isn't really much to gain from that idiom, unless Person is pretty trivial.
[4:09pm] butblack: Spooner: ok thanks
[4:10pm] Spooner: Better than that idiom, however, is: Person = Struct.new(:name, :age, :race) do; def hello; puts "Hello"; end; end
[4:10pm] Spooner: butblack, Since then you aren't creating a class just to be inherited from, but rather add other methods to a Struct.