Программирование на языке 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 есть два эквивалентных метода класса:
Есть также четыре метода экземпляра:
Можно создать объект и передать ему данные за одну операцию:
Анти-Ксенонская Инициатива
7. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
рейтинг книги
Виконт. Книга 3. Знамена Легиона
3. Псевдоним `Испанец`
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Кондотьер
7. Ушедший Род
Фантастика:
фэнтези
боевая фантастика
аниме
попаданцы
рейтинг книги
Егерь Ладов
3. Кровь и лёд
Фантастика:
боевая фантастика
аниме
фэнтези
рейтинг книги
Черный Маг Императора 8
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
рейтинг книги
Газлайтер. Том 12
12. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Возлюби болезнь свою
Научно-образовательная:
психология
рейтинг книги