#ruby #load #version #require
#ruby #загрузить #версия #требуется
Вопрос:
У меня есть куча скриптов Ruby 1.8.x, для которых требуются ftools.
Как я могу заставить эти скрипты прекратить выдавать исключения при их запуске в ruby 1.9?
Я хочу сохранить как можно больше, чтобы скрипты успешно выполнялись как в 1.8, так и в 1.9. Я не хочу устанавливать RVM или что-то подобное, потому что было бы лучше просто написать код, который нормально работает как в 1.9, так и в 1.8, насколько это возможно.
Это то, что я уже пробовал:
begin; require 'ftools' rescue LoadError nil end;
begin; require 'fileutils' rescue nil; end;
Как я могу заставить это работать. Желаемый результат заключается в том, что ruby автоматически завершает работу, если ftools не найден, а затем просто переходит к fileutils вместо этого.
Ответ №1:
Вы пробовали запрашивать свою резервную библиотеку в обработчике восстановления?
begin
require 'ftools'
rescue LoadError
require 'fileutils'
end