ruby string substring slice idiomatic

Ruby idioma para subcadena de índice hasta el final de la cadena



string substring (4)

Me pregunto si hay un modismo de Ruby para extraer una subcadena de un índice hasta el final de la cadena. Sé de str[index..-1] que funciona pasando un objeto rango al método String [] pero es un poco torpe. En python, por ejemplo, puede escribir str[index:] que implícitamente le proporcionará el resto de la cadena.

Ejemplo:

s = "hello world" s[6..-1] # <-- "world"

¿Hay algo más agradable que s[6..-1] ?


Aquí está ''más lindo'' si lo desea. Puede extender la clase String de ruby ​​y luego usar este método en su código. Por ejemplo:

class String def last num self[-num..-1] end end

Y entonces:

s = "hello world" p s.last(6)


Creo que no es así.

Parece que Range es una mejor manera de hacerlo.


Para obtener la cadena de un rango:

s = ''hello world'' s[5..s.length - 1] # world

Sin embargo, si lo que desea es obtener la última palabra que podría usar:

''hello world''.split('' '').last # world


Puedes extender la clase String . Sin embargo, no estoy seguro de si es un idioma rubí:

class String def last(n) self[(self.length - n)..-1] end end