# Calling method through variable

**URL:** <https://www.ruby-forum.com/t/calling-method-through-variable/82321>\
**Category:** Rails\
**Created:** [January 19, 2007, 2:44pm UTC](https://www.ruby-forum.com/t/calling-method-through-variable/82321 "2007-01-19T14:44:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dannypotta](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a9adbd/32.png) [@dannypotta](https://www.ruby-forum.com/u/dannypotta)\
**Post date:** [January 19, 2007, 2:44pm UTC](https://www.ruby-forum.com/t/calling-method-through-variable/82321/1 "2007-01-19T14:44:04Z")

</div>

I have a variable and I want to call a method with the name of the  
variable  
example:  
method\_variable = “sum”

def sum  
…  
end

How can i do that?

thank…

---

<div class="post-metadata">

**Author:** ![dannypotta](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a9adbd/32.png) [@dannypotta](https://www.ruby-forum.com/u/dannypotta)\
**Post date:** [January 19, 2007, 3:18pm UTC](https://www.ruby-forum.com/t/calling-method-through-variable/82321/2 "2007-01-19T15:18:49Z")

</div>

Daniel PÃ©rez wrote:

> I have a variable and I want to call a method with the name of the  
> variable  
> example:  
> method\_variable = “sum”
> 
> def sum  
> …  
> end
> 
> How can i do that?
> 
> thank…

self.send(method\_variable)

Alan

---

<div class="post-metadata">

**Author:** ![dannypotta](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a9adbd/32.png) [@dannypotta](https://www.ruby-forum.com/u/dannypotta)\
**Post date:** [January 19, 2007, 3:24pm UTC](https://www.ruby-forum.com/t/calling-method-through-variable/82321/3 "2007-01-19T15:24:49Z")

</div>

use the Object.send instance method

class Klass  
def sum(a, b)  
a + b  
end  
end

k = Klass.new  
m = “sum”

k.send m.to\_sym, 1, 2  
=\> 3

Chris
