From: jtprince Date: 2011-02-26T08:55:24+09:00 Subject: Re: how to override the new/initialize method for a struct? You are right, this works when the self is explicit on the assignment. It's also very POLS. I like it! Dog = Struct.new(:bark, :bite) do def initialize(*args) super(*args) self.bark = "really loud" unless bark end end Thanks for the heads up!