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.