Create an account or log in

Keep learning for free! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

2 Días
21 Hrs
31 Min
58 Seg
Curso de Ruby

Curso de Ruby

Simón Soriano

Simón Soriano

Tipos de datos II: Strings

5/39
Resources

Contributions 23

Questions 1

Sort by:

Want to see more contributions, questions and answers from the community?

Algunos métodos para un string:

  • “hola”.upcase (Devuelve una copia de la cadena en mayúsculas)
  • “hola”.downcase ( Devuelve una copia de la cadena en minusculas)
  • “hola”.length (Devuelve la cantidad de caracteres de la cadena)
  • “HoLa”.swapcase (Devuelve una copia de la cadena con caracteres alfabéticos en mayúsculas convertidos a minúsculas y viceversa)
  • “hola”.include? “h” (Devuelve true si el carácter asignado entre está incluido en nuestra cadena o variable)
  • " hola".strip (Devuelve una copia de la cadena con caracteres alfabéticos en mayúsculas convertidos a minúsculas y minúsculas convertidos a mayúsculas)
  • “”.empty (Devuelve true si la cadena está vacia)
  • “Hola ruby”.gsup(“ruby”, “mundo”) ( Devuelve una copia de la cadena con todas las apariciones de patrón sustituidas por el segundo argumento )
  • gsub! (Para modificar la variable en ves de devolver una copia)

Cuando un método lleva signos de admiración ** ! ** por lo general se le conoce como Método Bang

¿Cómo declarar una string?


En Ruby hay diferentes formas de declarar un string

saludo = "Hola"
saludo = 'Hola'
# Estas notaciones nos ayudan a cuando necesitamos utilizar comillas dentro de un string like = %q(María "la patilla" Coll)
saludo = %q(Hola)
saludo = %Q(Hola)

Otra característica útil es que podemos reemplazar (interpolar) una variable dentro de la declaración de un string

nombre = maría
saludo = "Hola #{nombre}"
saludo = %Q(Hola #{nombre})

#Si lo hacemos con comillas sencillas desactivamos la interpolación
saludo = 'Hola #{4 + 5}'

Podemos escribir string sin que sean variables

"Pepe".class

# Para poner todo uppercase
"Pepe".upcase

# Para poner todo lowercase
"PEPE".downcase

# Para saber de que tamaño es un string
"Pepe".length

# Para invertir el casing de cada uno de los carácteres
"PePE".swapcase # pEpe

# Para preguntar si una variable contiene x carácter
"Pepe".include? "a"

# Si tenemos un string que tenga espacio innecesarios en el inicio y el final para que lo quite utilizar el método
"   Pepe   ".strip

# Podemos preguntar si un string está vacío
"Pepe".empty?

# Para reemplazar algo dentro del string
"Pepe".gsub("Pe", "Ru")

Podemos utilizar los operadores para buscar cosas o sumar.

# Para concatenar un string
"Pepe" + " simon"

# Podemos multiplicar un string
"Pepe"*3

# Para crear una nueva variable con gsub
nombre_2 = "Pepe Díaz".gsub("Díaz", "Fernandez")

# Pero para cambiar el valor de una variable
"Pepe Díaz".gsub!("Díaz", "Fernandez")

Normalmente si un método tiene un ’!' es por este va a modificar una variable.

Métodos para strings

Las cadenas en Ruby tienen muchos métodos integrados que facilitan la modificación y manipulación del texto, ya que en la mayoría de casos este es tratado como un objeto. Algunas de las cosas que podemos hacer son:

  • Acceso a caracteres dentro de una cadena
  • Convertir a mayúsculas o minúsculas, capitalizar una cadena
  • Relleno o eliminación de caracteres en una cadena
  • Búsqueda de caracteres y texto
  • Sustitución de texto en cadenas
  • Determinar la longitud de la cadena
  • Interpolar cadenas de texto

Conceptos extraídos de :

En este enlace muestran muy claramente las diferentes funcionalidades de ruby, https://ruby.github.io/TryRuby/ les encantará

Buena con la repetion del minuto 6:38 JJAJAJAJAJAJAJAJAJAJAJAJAJA

Algunas convensiones usadas en el lenguaje Ruby:

Si la funcion termina con signo de pregunta ? la funcion retorna un booleano
Si la funcion termina con un signo de exclamacion la funcion modificara el contenido de la variable a la que apunta

Entonces, si no utilizas el signo de admiración (!) después del nombre del método, el objeto al que se le está aplicando el método no se ve afectado y únicamente se crea una copia que probablemente se guarde en una variable. Es decir, no es mutable.

Sin embargo, cuando utilizas el método seguido de un signo de admiración, se afecta el objeto/variable al que le estás aplicando el método (actúa mutablemente) y si esa acción planeabas asignarla a una variable, lo que pasará es que esa variable va a apuntar al objeto afectado por el método. OJO CON ESTO

>d = “Diego”
→ “Diego”
> e= d.gsub(“D”, “F”)
→ “Fiego”
>d
→ “Diego”
> e
→ “Fiego”

>e = d.gsub!(“D”, “C”)
→ “Ciego”
>d
→ “Ciego”
>e
→ “Ciego”

Como todo en ruby son Objectos en este caso “hola” es de tipo String, entonces todos estos metodos como upcase, include? etc etc, son “metodos de instancia”, es muy importante tambien entender esto.

Basicamente por detrás existe algo como esto.

class String < Object
	def downcase
	end
end

Obviamente esto esta escrito al final en C pero esto te ayuda a entender mucho como funciona ruby.

Siempre que se va a usar interpolacion se debe de usar comillas dobles. Ej.
saludo = "Hola #{nombre}"
Hola Luis

o sino usar %Q(Hola #{4 + 5})

Excelente!!

Tipos de datos en Ruby:

String : Valor cadena
Ejemplo:
"Hola"
Ejemplo dos :
nombre ="Juan"
saludo = “hola #{nombre}”

Para uppcase :
.upcase

Para downcase:
.downcase

Tamaño de la palabra:
.lenght

Para intercambiar minus/mayus:
.swapcase

Para verificar si incluye una letra:
.include?

Para eliminar los espacios en blanco:
.strip

Para verificar si la cadena es vacia:
.empty?

Para cambiar un parametro en la cadena :
“Simon Soriano”.gsub(“Simon”, “Santiago”)

Para cambiar internamente el valor:
nombre.gsub!(“simon”,“pepe”)

Como dato a tomar en cuenta:

/*Permite interpolación*/
saludo = %Q(Hola #{nombre})
saludo = "Hola #{nombre}"

/*NO permite interpolación*/
saludo = %q(Hola #{nombre})
saludo = 'Hola #{nombre}'

Entonces la utilización del símbolo “!” hace que los String sí sean mutables, ya que conservan su mismo object_id

Desactivar Interpolación

Metodos utlitarios para manejo de String

Excelente, sencillo y super robusto el lenguaje

Es muy importante saber cuando utilizar comillas dobles y comillas simples, porque el interprete ya sabe que hacer de acuerdo a las comillas, si no vas a utilizar interpolacion es mejor ocupar comillas simple o %q

declarando un string

saludo = ‘hola’ or “hola”

—Por ejemplo

nombre = ‘Pepe’

saludo = " Hola #{nombre}"

o por ejemplo

saludos = “hola #{9+7}”

x.methods – PARA SABER TODOS LOS MÉTODOS

“Johnny”.upcase - vALOR EN MAYUSCULA

“Johnny”.downcase - VALOR EN MINÚSCULA

nombre.length – CANTIDAD DE DÍGITOS

nombre.swapcase – CAMBIAR EL ORDEN DE LOS DIGITOS

nombre.include? “g” - true or false

PARA ELIMINAR LOS ESPACIOS —

" asdasdsa ".strip

PARA PREGUNTAR SI UN STRING ESTA VACIO –

“asdasd”.empty?

PARA REEMPLAZAR ALGO DENTRO DEL STRING

“Simon soriano”.gsub(“SImon”,“JOhnny”)

----- OPERACIONES CON STRING------

nombre = “Simon”

nombre + " santiago"

“simon santiago”.gsub(“simon”, “pepe”)

Una variable string en Ruby se debe eliminar en algun momento? Genera uso de memoria cuando se interpreta y no se utiliza?

Los Strings en Ruby
Los string son una secuencia de caracteres entre comillas simples (’’) o comillas dobles ("").

# String 1
s1 = 'Esta es una cadena con comillas simples'

# String 2
s2 = "Esta es una cadena con comillas dobles"

Métodos de objetos en Ruby
En Ruby, los métodos son capacidades integradas de los objetos. Para acceder a los métodos de un objeto, se debe llamar usando un punto (.) seguido del nombre del método. Veamos el uso de métodos en strings:

my_var = "platzi"

# Método para obtener la longitud de una cadena
print my_var.length # 10

# Método para invertir la cadena
print my_var.reverse # iztalp

# Método para convertir todas las letras a mayúsculas
print my_var.upcase # PLATZI

El #{nombre} me recuerda al ${nombre} de javascript

soy nuevo esto pero no me quedo claro desde un principio si se trabaja en consola CMD o por ejemplo visual studio?