Программирование на языке Ruby
Шрифт:
2.30. Удаление дубликатов
Цепочки повторяющихся символов можно сжать до одного методом
Если указан параметр, то будут удаляться только дубликаты заданных в нем символов:
Этот параметр подчиняется тем же правилам, что и параметр метода
2.31. Удаление заданных символов
Метод
Этот параметр подчиняется тем же правилам, что и параметр метода
2.32. Печать специальных символов
Метод
При стандартном значении переменной
2.33. Генерирование последовательности строк
Изредка бывает необходимо получить «следующую» строку. Так, следующей для строки
He рекомендуется применять этот метод, если точно не известно, что начальное значение предсказуемо и разумно. Если начать с какой-нибудь экзотической строки, то рано или поздно вы получите странный результат.
Существует также метод
Еще раз подчеркнем, что эта возможность используется редко, да и то на ваш страх и риск. Кстати, метода, возвращающего «предшествующую» строку, не существует.
2.34. Вычисление 32-разрядного CRC
Контрольный код циклической избыточности (Cyclic Redundancy Checksum, CRC) — хорошо известный способ получить «сигнатуру» файла или произвольного массива байтов. CRC обладает тем свойством, что вероятность получения одинакового кода для разных входных данных равна 1/2**N, где N — число битов результата (чаще всего 32).
Вычислить его позволяет библиотека zlib, написанная Уэно Кацухиро (Ueno Katsuhiro). Метод
В качестве необязательного второго параметра можно передать ранее вычисленный CRC. Результат получится такой, как если бы конкатенировать обе строки и вычислить CRC для объединения. Это полезно, например, когда нужно вычислить CRC файла настолько большого, что прочитать его можно только по частям.
2.35. Вычисление МD5-свертки строки
Алгоритм MD5 вырабатывает 128-разрядный цифровой отпечаток или дайджест сообщения произвольной длины. Это разновидность свертки, то есть функция шифрования односторонняя, так что восстановить исходное сообщение по дайджесту невозможно. Для Ruby имеется расширение, реализующее MD5; интересующиеся могут найти его в каталоге
Для создания нового объекта MD5 есть два эквивалентных метода класса:
Есть также четыре метода экземпляра:
Можно создать объект и передать ему данные за одну операцию:
Остров Крым
Фантастика:
социально-философская фантастика
альтернативная история
рейтинг книги
Русский романс
Поэзия:
песенная поэзия
лирика
рейтинг книги
Изгнание
Проза:
проза прочее
рейтинг книги
Газлайтер. Том 38
38. История Телепата
Фантастика:
городское фэнтези
аниме
попаданцы
рейтинг книги
Неучтенный элемент. Том 11
11. Антимаг. Вне системы
Фантастика:
фэнтези
рейтинг книги
"Охотник". Компиляция. Книги 1-12
Собрание сочинений
Фантастика:
боевая фантастика
рейтинг книги
Приказано выжить!
1. Другая Русь
Фантастика:
боевая фантастика
попаданцы
альтернативная история
рейтинг книги
Враг Короны
10. Сварог
Фантастика:
героическая фантастика
рейтинг книги
Три Меченосца. Книга первая. Желтая сталь алфейнов
Хроники Гэмдровса
Фантастика:
фэнтези
эпическая фантастика
героическая фантастика
боевая фантастика
рейтинг книги
Исторический материализм
Научно-образовательная:
история
философия
политика
рейтинг книги
Стеллар. Компиляция. Книги 1-9
Стеллар
Фантастика:
киберпанк
рпг
постапокалипсис
технофэнтези
рейтинг книги
Последний реанорец. Том IV
3. Высшая Речь
Фантастика:
фэнтези
рейтинг книги
Вавилонская башня
2. Кудеяр
Фантастика:
боевая фантастика
рейтинг книги
Из 'Автобиографии'
Научно-образовательная:
история
рейтинг книги