Visión general de los métodos de String
Parte de la sección Lógica y flujo del Journey de Ruby de Coddy — lección 1 de 56.
Ruby ofrece a las cadenas una amplia colección de métodos integrados para transformaciones comunes. No necesitas librerías adicionales, son parte de cada cadena que creas.
Algunos de los más útiles cambian las mayúsculas y minúsculas o eliminan los espacios en blanco:
name = " Alice "
puts name.strip # "Alice"
puts name.upcase # " ALICE "
puts name.downcase # " alice "
puts name.reverse # " ecilA "Otros te dicen algo sobre la cadena:
word = "hello"
puts word.length # 5
puts word.include?("ell") # true
puts word.start_with?("he") # trueLa mayoría de estos devuelven una nueva cadena. La original permanece intacta a menos que uses la versión bang (p. ej., upcase!).
Desafío
PrincipianteLee una sola línea de entrada. Imprime, en líneas separadas:
- La entrada con los espacios en blanco iniciales y finales eliminados
- Ese valor recortado en mayúsculas
- La longitud del valor recortado
trueofalse: ¿contiene el valor recortado"ruby"(insensible a mayúsculas y minúsculas)?
Para la entrada Hello Ruby world , la salida es:
Hello Ruby world
HELLO RUBY WORLD
16
trueHoja de referencia
Métodos comunes de cadenas en Ruby:
name = " Alice "
name.strip # "Alice" - elimina los espacios en blanco al principio y al final
name.upcase # " ALICE "
name.downcase # " alice "
name.reverse # " ecilA "
word = "hello"
word.length # 5
word.include?("ell") # true
word.start_with?("he") # trueLa mayoría de los métodos devuelven una nueva cadena; usa la versión bang (por ejemplo, upcase!) para modificarla en el lugar.
Pruébalo tú mismo
input = gets.chomp
# TODO: imprimir las cuatro líneas requeridas
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y flujo
1Strings en profundidad
Visión general de los métodos de StringInterpolación de StringsIterar sobre StringsSplit y JoinRepaso - String Weaver4Bloques, Procs y Lambdas
¿Qué es un bloque?do..end vs llavesLa palabra clave yieldParámetros de bloqueProcs y LambdasResumen - Iterador personalizado7Hashes Parte 2
Hash.new con valores por defectoIteración de HashesHashes anidadosFusión y transformaciónResumen - Contador de frecuencia10Proyecto - Registros de Estudiantes
Descripción general del proyectoAgregar estudiante5Potencia de Enumerable
Select y RejectEncadenando MapReduce / Injectcount, all?, any?, none?group_by y partitionsort_by, min_by, max_byResumen - Data Pipeline