当你调用一个方法时,通常会使用点(。)标记符,代码如下: 

class MyClass
         def my_method(my_arg)
                   my_arg * 2
         end
end
obj = MyClass.new
obj.my_method(3)   #=>6

用Object#send()方法可以取代(。):

obj.send(:my_method, 3)   #=>6

send()方法的第一个参数是你要发送给对象的消息,也就是方法的名字。这里既可以使用字符串,也可以使用符号。但是一般认为符号会更好一些。所有剩下的参数(以及代码块)会直接传递给调用的方法。 

这是ruby一个很酷的特性,通过send()方法,你想调用的方法成为一个参数,这样就可以在代码运行期间,直到最后一刻才决定调用哪个方法。这种技术称为“动态派发”。