Метод строки count ()

Занято изучением Ruby ... в документации есть пример:

"hello world" .count ("lo", "o"), которые возвращают 2, как это возвращает 2?

В моем примере я: помещает «Lennie» .count («Le», «ie»), который возвращает 2.

Как в этом отношении работает счет?

Ответов (2)

Решение

"hello world".count("lo") возвращает пять. Он соответствует третьему, четвертому, пятому, восьмому и десятому символам. Назовем этот набор одним.

"hello world".count("o") возвращает два. Он соответствует пятому и восьмому символам. Назовем этот набор двумя.

"hello world".count("lo", "o") считает пересечение наборов один и два.

Пересечения представляют собой третий набор , содержащий все элементы набора два , которые также находятся в одном множестве. В нашем примере оба набора один и два содержат пятый и восьмой символы из строки. Всего два символа. Итак, count возвращается два.

Если вы даете count более одного аргумента, учитываются только буквы, которые есть во всех аргументах. Итак, в вашем первом примере это только отсчет. Во втором примере учитывается только e.