In Ruby haben wir die 'bang'-Methode capitalize!
, die das seltsame Verhalten hat, ein nil
zurückzugeben, wenn keine Änderungen an der Zeichenkette vorgenommen wurden.
Das bedeutet, dass ich diese Befehle nicht mit anderen verketten kann, da es die Kette effektiv zerstört, wenn sie nil
zurückgibt.
Was ich versuche zu tun, ist etwa so:
%Vor% extrahiert den Vornamen aus einer Zeichenfolge und sollte diesen ebenfalls groß schreiben. Wenn sie jedoch bereits großgeschrieben ist, ist die in fname
gespeicherte Zeichenfolge nil
.
Natürlich kann ich eine weitere Aussage hinzufügen, aber ich frage mich, ob es einen Weg gibt, dies zu tun, "ohne die Kette zu durchbrechen".
Verwenden Sie .capitalize (ohne den Knall) - es sei denn, Sie müssen es wirklich ändern die Quelle.
Da Ihre Anweisung den Wert von fullname nicht ändert, tun Sie einfach:
%Vor%Was nicht Null zurückgibt, wenn keine Änderung vorgenommen wird.
Tags und Links ruby