Die erste Zeichenfolge ist eine Zahl, und ich kann einfach to_i sagen, um eine ganze Zahl zu erhalten.
Die zweite Zeichenfolge ist auch eine Zahl, aber ich kann to_i nicht direkt aufrufen, um die gewünschte Nummer zu erhalten.
Wie überprüfe ich, ob ich mit to_i erfolgreich konvertieren kann oder nicht?
Es gibt eine Integer
-Methode, die im Gegensatz zu to_i
eine Ausnahme auslöst, wenn sie nicht konvertieren kann:
Ich denke, Sie könnten das mit einer Inline-Rettung verwenden:
%Vor% Wenn Ihre Zeichenfolge konvertiert werden kann, erhalten Sie die Ganzzahl, andernfalls nil
(oder was auch immer Sie hinter die rescue
setzen möchten).
Während eine Exception ausgelöst wird, kann es zu einem Overkill kommen, die Methode Integer
ist die umfassendste, die ich in Ruby kenne (zB "09" wird nicht konvertiert, weil die führende Null oktal und 9 eine ungültige Ziffer ist) ). Es wird ein Albtraum sein, all diese Fälle mit regulären Ausdrücken zu bedecken.
Tags und Links ruby