Программирование на языке Ruby
Шрифт:
Если задан строковый аргумент, он добавляется к объекту путем обращения к методу
Метод
Но
Короче говоря, для получения MD5-свертки нужно написать:
2.36. Вычисление расстояния Левенштейна между двумя строками
Расстояние между строками важно знать в индуктивном обучении (искусственный интеллект), криптографии, исследовании структуры белков и других областях.
Расстоянием Левенштейна называется минимальное число элементарных модификаций, которым нужно подвергнуть одну строку, чтобы преобразовать ее в другую. Элементарными модификациями называются следующие операции:
Существуют разные подходы к решению этой задачи, но не будем вдаваться в технические детали. Достаточно знать, что реализация на Ruby (см. листинг 2.2) позволяет задавать дополнительные параметры, определяющие стоимость всех трех операций модификации. По умолчанию за базовую принимается стоимость одной операции
Определив расстояние Левенштейна, мы можем написать метод
Разумеется, можно было бы передать методу
2.37. base64-кодирование и декодирование
Алгоритм base64 часто применяется для преобразования двоичных данных в текстовую форму, не содержащую специальных символов. Например, в конференциях так обмениваются исполняемыми файлами.
Простейший способ осуществить base64-кодирование и декодирование — воспользоваться встроенными возможностями Ruby. В классе
Под тремя башнями
Военные приключения
Приключения:
исторические приключения
рейтинг книги
Стоп. Снято! Фотограф СССР
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Герой по принуждению. Трилогия
Фантастика:
фэнтези
боевая фантастика
попаданцы
рейтинг книги
Конго
Фантастика:
научная фантастика
рейтинг книги
Князь Андер Арес 5
5. Андер Арес
Фантастика:
историческое фэнтези
фэнтези
героическая фантастика
рейтинг книги
Городу и миру
Проза:
русская классическая проза
рейтинг книги
Обрыв
рейтинг книги
Серв-батальон
10. Экспансия: История Галактики
Фантастика:
космическая фантастика
рейтинг книги