Ruby Programming/Writing methods

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

← Data types | Classes and objects →


[edit] Defining Methods

Methods are defined using the def keyword and ended with the end keyword. Some programmers find the Methods defined in Ruby very similar to those in Python.

 def myMethod
 end

To define a method that takes in a value, you can put the local variable name in brackets after the method definition. The variable used can only be accessed from inside the method scope

 def myMethod(msg)
  puts msg
 end

If multiple variables need to be used in the method, they can be separated with a comma.

   def myMethod(msg, person)
        puts "Hi, my name is " + person + ". Some information about myself: " + msg
   end

Any object can be passed through using methods

   def myMethod(myObject)
       if(myObject.is_a?(Integer))
             puts "Your Object is an Integer"
       end
       #Check to see if it defined as an Object that we created
       #You will learn how to define Objects in a later section
       if(myObject.is_a?(MyObject))
             puts "Your Object is a MyObject"
       end
   end

The return keyword can be used to specify that you will be returning a value from the method defined

   def myMethod
       return "Hello"
   end

It is also worth noting that ruby will return the last expression evaluated, so this is functionally equivalent to the previous method

   def myMethod
       "Hello"
   end

Some of the Basic Operators can be overridden using the def keyword and the operator that you wish to override

   def ==(oVal)
       if oVal.is_a?(Integer)
           #@value is  a variable defined in the class where this method is defined
           #This will be covered in a later section when dealing with Classes
           if(oVal == @value)
               return true
           else
               return false
           end
       end
   end