From: Chris Pine Date: 2003-04-10T01:57:18+09:00 Subject: Re: Proc Question A proc is an object. A method isn't. Consider a method of zero arguments: def fiveSquared 5 * 5 end You can call this method simply by writing `fiveSquared', and Ruby *knows* you want the method called, because that's the only thing you can do with methods. A proc, however, can be assigned to a variable, passed into methods, etc. In fact, unlike methods, procs are unnamed. (Am I right about methods intrinsically having names?) So, in the following code: fiveSquared = proc {5 * 5} `fiveSquared' is just a variable. I see your point though. It is sort of dissatisfying that procs and methods have such different syntaxes (syntices?). Same for method parameter list `(...)' and block parameter list `|...|'. Still, it's important to realize that methods and functions (which is what procs are) are *different*, even if their underlying implementations are similar. This is an object-oriented language, after all. Chris