Quería validar la 'numericalidad' de una cadena (no es un atributo en un modelo de registro activo). Solo necesito que sea una base válida 10, cadena entera positiva. Estoy haciendo esto:Implementación de Ruby is_numeric? para cadenas, necesita mejores alternativas
class String
def numeric?
# Check if every character is a digit
!!self.match(/\A[0-9]+\Z/)
end
end
class String
def numeric?
# Check is there is *any* non-numeric character
!self.match(/[^0-9]/)
end
end
¿Cuál de estas opciones es más plausible? O, ¿hay alguna otra mejor implementación?
Por curiosidad, ¿por qué el multiplicador '{1,1}'? Por defecto, todas las clases de caracteres y literales se emparejan exactamente una vez, a menos que se especifique lo contrario. Esto es redundante. –
¡Pobre de mí! Lo eliminaré de una vez. – Swanand
Pregunta relacionada: http://stackoverflow.com/questions/694176/retrieve-number-from-the-string-pattern-using-regular-expression –