2009-03-01 20 views
5

ocupado aprendiendo Rubí ... la documentación tiene un ejemplo:El recuento de cadena() método

.count "Hello World" ("lo", "O") que devuelven 2 ¿Cómo que el retorno 2?

En mi ejemplo he: pone .count "Lennie" ("Le", "decir") que devuelven 2.

¿Cómo cuenta el trabajo en este sentido?

Respuesta

14

"hello world".count("lo") devuelve cinco. Ha comparado los caracteres tercero, cuarto, quinto, octavo y décimo. Vamos a llamar a este conjunto uno.

"hello world".count("o") devuelve dos. Ha coincidido con los personajes quinto y octavo. Vamos a llamar a este conjunto dos.

"hello world".count("lo", "o") cuenta la intersección de los conjuntos uno y dos.

El intersection es un tercer conjunto que contiene todos los elementos del conjunto dos que también están en el conjunto uno. En nuestro ejemplo, ambos conjuntos uno y dos contienen el quinto y el octavo caracteres de la cadena. Son dos personajes en total. Entonces, count devuelve dos.

0

Si da más de un argumento, solo cuenta las letras que están en todos los argumentos. Entonces en tu primer ejemplo, solo está contando o. En su segundo ejemplo, solo cuenta e.

1
arr = [1, 2, 3] 
arr.length # => 3 
arr.size # => 3 
arr.count # => 3 
h = { a: 1, b: 2 } 
h.length # => 2 
h.size # => 2 
h.count # => 2 
str = 'name' 
str.length # => 4 
str.size # => 4 

str.count no funcionará como cadena no incluye Enumerable

Cuestiones relacionadas