Поиск длины строки

Ruby:
Поиск длины строки

Как:

Ruby делает это просто с методом .length:

greeting = "Привет, мир!"
puts greeting.length

Вывод:

13

Или используйте .size, который делает то же самое:

greeting = "Привет, мир!"
puts greeting.size

Вывод:

13

Подробнее

В Ruby .length и .size взаимозаменяемы, когда речь идёт о строках; они дают вам количество символов. Исторически Ruby сосредоточен на упрощении чтения кода, поэтому вы часто можете найти более одного способа сделать одно и то же.

Внутренне, каждый символ в строке влияет на размер хранилища. Поэтому, знание этого числа может быть существенным для оптимизации, особенно при работе с огромными объёмами текста.

Хотя .length и .size дают вам количество символов, в некоторых языках и в более ранние времена длина строки может относиться к её размеру в байтах. Однако Ruby с его поддержкой многобайтовых символов через Unicode не равняет размер в байтах непосредственно к длине строки из-за того, что символы могут занимать более одного байта.

Альтернативы вроде .bytesize говорят вам, сколько байт занимает строка, а .chars.count даёт вам количество символов, сначала преобразуя строку в массив символов.

Вот как вы бы использовали .bytesize и .chars.count:

greeting = "Привет, мир!"
puts greeting.bytesize
puts greeting.chars.count

Вывод:

13
13

Смотрите также

  • Документация Ruby по работе со строками: https://ruby-doc.org/core/String.html
  • Хорошее введение в строки Ruby от RubyGuides: изучите больше о том, что вы можете делать со строками, помимо измерения их размера.
  • Погрузитесь в кодирование символов и как это влияет на операции со строками с этой статьёй от Thoughtbot.