class Bike
attr_reader :gears
def initialize(g = 5)
@gears = g
end
end
class AnotherBike < Bike
attr_reader :seats
def initialize(g, s = 2)
super(g)
@seats = s
end
end
Is it possible to create a AnotherBike instance ‘AnotherBike.new’
that will take default value for ‘gears’ from super when argument is not given?
so for e.g
my_bike = AnotherBike.new
...
my_bike.gears #=> 5
my_bike.seats #=> 2
my_bike = AnotherBike.new(10)
...
my_bike.gears #=> 10
my_bike.seats #=> 2
my_bike = AnotherBike.new(1,1)
...
my_bike.gears #=> 1
my_bike.seats #=> 1
I am using Ruby 1.9.3.
You can change an order of args to make it little more elegant
to support your examples @Matzi answer will be ok