viernes, 13 de abril de 2007

Seguimos jugando con los string

Ahora que podemos acceder a la documentación, podemos seguir jugando con nuestras strings. Por ejemplo, imaginemos que querémos poner un salto de línea en nuestra string.
Teníamos nuestra string:

irb(main):001:0> string = "Nuestro primer string"
=> "Nuestro primer string"
irb(main):002:0>

Pero queremos adjuntarle un pequeño salto de línea. Esto lo podemos hacer de la siguiente forma:

irb(main):002:0> string = "Nuestro \n primer salto"
=> "Nuestro \n primer salto"

Pero cómo podemos ver, no nos muestra el string con el formato que veríamos, sinó cómo lo ingresamos. Por lo que tenemos que usar el puts (Put String):

irb(main):003:0> puts string
Nuestro
primer salto
=> nil
irb(main):004:0>

De esta forma, podemos ver a nuestro string en toda su gloria! :D
Si en vez de utilizar comillas utilizamos una sola coma, lo único que podemos utilizar, cómo caractér diferente, es el "\" para usar una comilla y "\\" para usar un backlash:

irb(main):006:0* puts 'Aca esta \' una nueva prueba \' \\ '
Aca esta ' una nueva prueba ' \
=> nil
irb(main):007:0>

(cómo pueden ver, ruby entiende que el contenido es automáticamente un string).
Otra forma de escribir strings largas es la siguiente:

irb(main):009:0> string_larga = <irb(main):010:0" esta string
irb(main):011:0" tiene varios
irb(main):012:0" parrafos
irb(main):013:0" EOF
=> "esta string\ntiene varios\nparrafos\n"
irb(main):015:0> puts string_larga
esta string
tiene varios
parrafos
=> nil
irb(main):016:0>

Otro método útil es buscar parte de un string:

irb(main):016:0> puts string
Nuestro
primer salto
=> nil
irb(main):017:0> puts string[3,5]
stro
=> nil
irb(main):018:0>

Siempre podemos necesitar pasar el string de minúsculas a mayúsculas. Pero el ruby es mutable, y toma diferentes expresiones. Veámoslas:
irb(main):020:0* puts string

Nuestro
primer salto
=> nil
irb(main):021:0> puts string.upcase
NUESTRO
PRIMER SALTO
=> nil
irb(main):022:0> puts string
Nuestro
primer salto
=> nil
irb(main):023:0> puts string.upcase!
NUESTRO
PRIMER SALTO
=> nil
irb(main):024:0> puts string
NUESTRO
PRIMER SALTO
=> nil
irb(main):025:0>

Cómo podemos ver, el string mutó luego de utilizar el signo de admiración.

Finalmente, y para terminar este tour de ruby, les vamos a dejar un pequeño testeo, que luego veremos en mayor detalle. Podemos aplicar un método a cualquier objeto para saber si está vacío, llamado empty. Y la forma de testearlo es con un signo de interrogación. O ver si un string incluye un caractér...veámos:

irb(main):026:0* string.empty?
=> false
irb(main):027:0> string.include? 'NUESTRO'
=> true
irb(main):028:0>

Espero que les haya gustado! en la próxima entrega, veremos un pequeño problema a tratar, para que se ejerciten en esto.

No hay comentarios: