From: Travis Whitton Date: 2003-04-10T01:20:17+09:00 Subject: Proc Question As I was coding this morning, a question occured to me. Why must proc objects have a call method? I'm sure that there's a good reason for this, but it seems like it would be more natural for proc objects to behave as regular methods do and avoid the .call() syntax. I.e., square = proc {|n| n * n} square(4) # => 16 I see that [] is aliased to .call, but I find that surprising over (), which is the more typical way of specifying arguments to a method. Perhaps having a call method is a more object-oriented way of using proc objects? Thanks, Travis