From: Robert Klemme Date: 2012-06-20T01:49:31+09:00 Subject: Re: Symbols and Strings... On Tue, Jun 19, 2012 at 5:17 PM, Hal Fulton wrote: > Personally, I don't have a problem with "reducing the contract" > of a String. It's just that Ruby is not particularly suited to using inheritance in different ways. In Eiffel you can do all this and do it visibly. In Ruby there's just mixing in modules and class inheritance. > Freezing an object also reduces its contract. Kind of. But I consider that a special case because freeze prevents all mutations but not other operations. It also does not restrict the range of valid state - it just freezes it. Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/