2009-03-01 30 views
5

忙學習Ruby ...文檔有一個例子:串計數()方法

的 「Hello World」 .Count之間( 「LO」, 「O」)返回2請問是怎麼回2?

在我的例子中,我:把「倫尼」 .Count之間(「樂」,「即」)返回2.

如何計算在這方面的工作?

回答

14

"hello world".count("lo")返回五。它匹配了第三,第四,第五,第八和第十個字符。讓我們打電話給這一套。

"hello world".count("o")返回兩個。它匹配了第五和第八個字符。讓我們打電話給這兩個。

"hello world".count("lo", "o")計數一組和二組。

intersection是第三集,包含集合2中的所有元素,它們也在集合1中。在我們的例子中,第一個和第二個都包含字符串中的第五個和第八個字符。這是總共兩個字符。所以,count返回兩個。

0

如果您計算多個參數,它只計算所有參數中的字母。所以在你的第一個例子中,它只計數o。在你的第二個例子中,它只計算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不會爲字符串工作不包括可枚舉