Я ранее ошибочно попросил str.count, когда я действительно имел в виду str.length. Спасибо ответчикам за то, что вы вернулись ко мнеВ рубине, какая временная стоимость str.length?
Является ли это постоянной операцией времени или линейным временем? Я знаю, что в Java это постоянное время, а C - линейное время, согласно In Java, for a string x, what is the runtime cost of s.length()? Is it O(1) or O(n)?, но не уверен, что происходит в Ruby.
Почему бы не проверить их источник? – Li357
Источник сообщает только, что делает конкретная версия одной конкретной реализации. Он ничего не говорит о гарантиях, связанных с языковой спецификацией. Я считаю, что сейчас около 5 реализаций Ruby в дикой природе. (Ну, есть еще много, но 5, которые являются промышленно-прочными, готовыми к производству, все еще поддерживаются и развиваются и в реальном реальном использовании.) –
Вы действительно имеете в виду 'String # count', поскольку ваше название спрашивает, или вы имеете в виду 'String # length', как указывает связанный вопрос? – pilcrow