Open In App

Ruby – Method Invocation

Method invocation refers to how a method is called in a program. The process of invoking a method in Ruby is quite easy since the use of parenthesis is optional. The use of parenthesis plays an important role when the invocation is embedded inside an expression consisting of other function calls or operators.

The Ruby interpreter makes use of the process known as method lookup or method resolution. In this method, when the Ruby interpreter has the method’s name and the object on which it is to be invoked, it searches for the method definition.



A Method Invocation Expression Comprises of 4 Components:

Example 1: In this example, we invoke a method with no arguments.






# Ruby program to illustrate 
# how to invoke a method 
example_str ='GeeksforGeeks'
  
# "length" invoked on object 
# example_str having no args
puts example_str.length   

Output:

13

Example 2: In this example, we invoke a method with one argument.




# Ruby program to illustrate 
# how to invoke a method 
  
# "sqrt" invoked on object 
# Math with one argument
number = Math.sqrt(36)     
puts "Square Root of 36:" 
puts number 

Output:

Square Root of 36:
6.0

Example 3: In this example, we’re going to define a method with two arguments. Then we will call this method.




# Ruby program to illustrate 
# how to invoke a method 
def add(a, b)   
      
# ’add’ method definition
  a + b
end
  
# Calling method ‘add’
c = add(20, 30
d = add(45, 90
puts c 
puts d 

Output:

50
135

Example 4: In this example, we are going to invoke class methods.




# Ruby program to illustrate 
# how to invoke a method 
  
# ’Animal’ class definition
class Animal                                          
      
   # ’dog’ function definition
   # having no arguments
   def dog                                            
       puts "Dog is barking" 
   end
     
   # ’enternames’ function definition
   # having two arguments
   def  enternames(one, two)           
           puts one
           puts two
   end
end
  
# Create a new instance of Animal
animal = Animal.new   
  
# Instance method invocation
animal.dog 
  
# Instance method invocation 
# having two arguments
animal.enternames("Cat", "Elephant"
  
# Class method call using send method
animal.send :dog  
  
# Class method call using send method 
animal.send :enternames, "Cat", "Elephant"   

Output:

Dog is barking
Cat
Elephant
Dog is barking
Cat
Elephant

Article Tags :