programming.nbk: Home | Index | Next Page: Ruby: Names | Previous Page: Ruby: load
Method definition:
def method_name {(argument_list) }
code
end
Each object can only have one method with any given name. Because of this, method overloading cannot be performed in the same manner as C++ or Java. However, a method can test the number of arguments it recieved, and perform different actions based on the number:
# The Rectangle constructor accepts arguments in either
# of the following forms:
# Rectangle.new([x_top, y_left], length, width)
# Rectangle.new([x_top, y_left], [x_bottom, y_right])
class Rectangle
def initialize(*args)
if args.size < 2 || args.size > 3
# modify this to raise exception, later
puts 'This method takes either 2 or 3 arguments'
else
if args.size == 2
puts 'Two arguments'
else
puts 'Three arguments'
end
end
end
end
Rectangle.new([10, 23], 4, 10)
Rectangle.new([10, 23], [14, 13])
programming.nbk: Home | Index | Next Page: Ruby: Names | Previous Page: Ruby: load
Notebook exported on Monday, 7 July 2008, 18:56:06 PM Eastern Daylight Time