2009-03-01 11 views
5

Busy nauki Ruby ... dokumentacja mieć przykład:Ilość string() metoda

"Hello World" .count ("Lo", "O"), które zwracają 2 Jak to robi powrotu 2?

W moim przykładzie mam: puts "Lennie" .count ("Le", "ie"), które zwracają 2.

Jak policzyć prace w tym zakresie?

Odpowiedz

14

"hello world".count("lo") zwraca pięć. Dopasował trzeci, czwarty, piąty, ósmy i dziesiąty znak. Nazwijmy ten zestaw jeden.

"hello world".count("o") zwraca dwa. Pasuje do piątego i ósmego znaku. Nazwijmy ten zestaw dwa.

"hello world".count("lo", "o") zlicza przecięcie zestawów jeden i dwa.

Jest to trzeci zestaw zawierający wszystkie elementy zestawu dwóch, które również znajdują się w zestawie. W naszym przykładzie oba zestawy jeden i dwa zawierają piąty i ósmy znak z ciągu. To łącznie dwa znaki. Tak więc count zwraca dwa.

0

Jeśli podajesz więcej niż jeden argument, zlicza tylko litery znajdujące się we wszystkich argumentach. W pierwszym przykładzie liczy się tylko o. W twoim drugim przykładzie liczy się tylko 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 nie będzie działać jako ciąg nie zawiera przeliczalny

Powiązane problemy