Hai all,
I am having the following Ruby program.
    puts "hai"
     def mult(a,b)
        a * b
     end
     puts "hello"
     def getCostAndMpg
       cost = 30000  # some fancy db calls go here
       mpg = 30
       return cost,mpg
     end
   AltimaCost, AltimaMpg = getCostAndMpg
   puts "AltimaCost = #{AltimaCost}, AltimaMpg = {AltimaMpg}"
I have written a perl script which will extract the functions alone in a Ruby file as follows
while (<DATA>){ 
   print if ( /def/ .. /end/ );
}
Here the <DATA> is reading from the ruby file.
So perl prograam produces the following output.
def mult(a,b)
    a * b
end
def getCostAndMpg
    cost = 30000  # some fancy db calls go here
    mpg = 30
    return cost,mpg
end
But, if the function is having block of statements, say for example it is having an if condition testing block means then it is not working. It is taking only up to the "end" of "if" block. And it is not taking up to the "end" of the function. So kindly provide solutions for me.
Example:
def function
   if x > 2
      puts "x is greater than 2"
   elsif x <= 2 and x!=0
      puts "x is 1"
  else
      puts "I can't guess the number"
  end  #----- My code parsing only up to this
end
Thanks in Advance!