1

我不明白为什么在这两种情况下include?都返回true。有人可以启发我吗?

"".include?("") # => true
"stackoverflow".include?("") # => true

文档指出:

include? other_str → true or false
Returns true if str contains the given string or character.
4

2 回答 2

7

因为字符串“stackoverflow”在字母/字符之间包含无限数量的空字符串。

于 2013-10-25T07:05:56.950 回答
1

这不是错误。count并且include?工作方式非常不同。include?检查子字符串,但描述count

[每个参数] 定义一组要计数的字符。这些集合的交集定义了要在 str 中计数的字符。

通过仅提供空字符串作为参数,您可以告诉count不要计算任何字符。在这种情况下它返回的唯一明智的事情是 0。

于 2013-10-25T15:20:09.277 回答