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.