From: Chris Alfeld Date: 2006-03-29T01:20:41+09:00 Subject: Re: Why do some methods names which replace the content in place doesn't have the "!" sign? I'm working on a program that indexes semilarge amounts of data in various ways. Now it can be argued that if I care about performance I shouldn't use ruby, but I do care and I am using. One of my classes has a query method: def query(q) ... end From a high level semantics point of view query is very much a read only function. It takes a string, interprets it in certain ways, and reports the results. However, with how my application is used, successive queries tend to be related. So, under the hood there is a great deal of caching going on; various instance variables are being changed. It would be extremely counter intuitive to the user if I had to name my routine query!. My point (which no doubt had been made) is that it is difficult for a parser to determine the higher level semantics of a routine. This is especially true in a language as dynamic as ruby. c.