Ich lese das POODR-Buch und es verwendet die alte Syntax für die Initialisierung mit Standardwerten. Ich möchte dasselbe mit der neuen Syntax implementieren.Ruby-Initialisierung mit Schlüsselwort args
class Gear
attr_reader :chainring, :cog, :wheel
def initialize(args)
@chainring = args.fetch(:chainring, 40)
@cog = args.fetch(:cog, 10)
@wheel = args[:wheel]
end
def gear_inches
ratio * diameter
end
def diameter
wheel * diameter
end
end
Gear.new(chainring: 52, cog: 11, wheel: Wheel.new(26,1.5)).gear_inches
Wie würde das mit dem neuen Schlüsselwort args aussehen? Dies ist meine Schätzung unten, aber nicht sicher, ob es das gleiche für das Rad wie oben ergibt.
class Gear
attr_reader :chainring, :cog, :wheel
def initialize(chainring: 40, cog: 10, wheel:) #is this good here for wheel?
@chainring = chainring
@cog = cog
@wheel = wheel #is this good here for wheel?
end
......
end
'Rad: Nil' wäre äquivalent – Stefan