2009-03-01 9 views
5

Besetzt Lernen Rubin ... die Dokumentation ein Beispiel hat:Der String count() Methode

"Hallo Welt" .count ("lo", "o"), die 2 wie funktioniert das Return 2 zurückkehren?

In meinem Beispiel habe ich: puts "Lennie" .count ("Le", "dh"), die 2.

Wie zurückkehren funktioniert in dieser Hinsicht zählen?

Antwort

14

"hello world".count("lo") gibt fünf zurück. Es hat die dritten, vierten, fünften, achten und zehnten Zeichen abgestimmt. Lass uns dieses Set eins nennen.

"hello world".count("o") gibt zwei zurück. Es hat die fünfte und achte Zeichen abgestimmt. Lassen Sie uns diesen Satz zwei nennen.

"hello world".count("lo", "o") zählt die Schnittmenge der Mengen eins und zwei.

Die intersection ist ein dritter Satz, der alle Elemente von Satz zwei enthält, die auch in Satz eins sind. In unserem Beispiel enthalten beide Mengen eins und zwei das fünfte und das achte Zeichen aus der Zeichenfolge. Das sind zwei Charaktere insgesamt. Also, count gibt zwei zurück.

0

Wenn Sie mehr als ein Argument zählen, zählt es nur Buchstaben, die in allen Argumenten enthalten sind. In Ihrem ersten Beispiel zählt nur o. In Ihrem zweiten Beispiel zählt nur 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 nicht als String arbeiten nicht enthalten Enumerable