Ruby Programming/Writing methods

      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 parentheses 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
      
      ↑Jump back a section
      Last modified on 8 September 2011, at 20:26