Giles Bowkett schrieb:
> What's a good reason to use send() instead of a dot to send a message?
> 
> Is it for situations where you know you're going to want to send an
> object a message, but you don't know what that message is until
> runtime?

Giles, as others have noted, this is the main reason. Another one has 
been to call private methods of an object:

   class C
     private
     def secret_method
       puts "in secret_method"
     end
   end

   o = C.new
   o.secret_method rescue puts $!
   # => private method `secret_method' called for #<C:0x2ba2790>

   o.send :secret_method
   # => in secret_method

So you will find usages of "send" where the method is known at "coding 
time". But note that this behaviour of "send" will change in future 
versions of Ruby. In order to call private methods, better use this:

   o.instance_eval { secret_method }
   # => in secret_method

Regards,
Pit