Es wird versucht, eine Methode für die String-Klasse zu erstellen, die eine vertauschte Zeichenfolge zurückgibt. Ich habe zwei verschiedene Methoden geschriebenHinzufügen der Swapcase-Klasse zur Zeichenfolge
class String
def to_alternating_case
self.swapcase
end
end
Der obige Code funktioniert für alle Zeichenfolgen eingegeben. Wenn jedoch der folgende Code eingegeben wird:
class String
def to_alternating_case
self.swapcase!
end
end
Dann gibt eine Zeichenfolge, die alle Zahlen enthält, NULL zurück. Kann jemand erklären, warum sich diese bei Strings, die nur Zahlen enthalten, anders verhalten?
Wenn eine Methode keinen expliziten Empfänger hat, wird angenommen, dass der Empfänger "selbst" ist. Daher können Sie 'self.swapcase' durch' swapcase' ersetzen. –