両方の場合にinclude?
戻る理由がわかりません。true
誰かが私を啓発できますか?
"".include?("") # => true
"stackoverflow".include?("") # => true
ドキュメントには次のように記載されています。
include? other_str → true or false
Returns true if str contains the given string or character.
文字列「stackoverflow」には、文字/文字の間に無限の数の空の文字列が含まれているためです。
これはバグではありません。count
そしてinclude?
働き方が大きく異なります。include?
部分文字列をチェックしますが、の説明にcount
は
[各パラメータ] カウントする文字のセットを定義します。これらのセットの共通部分は、str でカウントする文字を定義します。
パラメーターとして空の文字列のみを指定することで、文字をcount
カウントしないように指示しています。このような場合に返す唯一の賢明なことは、0 です。