Я недавно обнаружил шаблон Hanna RDoc, и мне нравится он намного больше, чем значение по умолчанию. Я хочу использовать его в своем проекте, но я также не хочу свой проект потребовать его.
Единственное изменение, которое я должен был внести в свой Rakefile, чтобы заставить шаблон hanna работать, состояло в том, чтобы измениться
require 'rake/rdoctask'
кому:
require 'hanna/rdoctask'
Там какой-либо путь состоит в том, чтобы делать попытку требования и получить/восстановить от ошибки? Я заметил загрузку, и потребуйте, возвращают булевскую переменную в irb, таким образом, я думал, возможно, что я мог сделать это:
unless require 'hanna/rdoctask'
require 'rake/rdoctask'
end
К сожалению, грабли, прерванные, как только неудавшееся требование. Затем я попробовал:
begin
require 'hanna/rdoctask'
rescue
require 'rake/rdoctask'
end
но это не работало также.
Там какой-либо путь состоит в том, чтобы выполнить то, чего я делаю попытку здесь?
Ваш последний вариант должен работать.
require 'rubygems'
begin
require 'hanna/rdoctask'
rescue LoadError
puts 'Hanna rdoc unavailable, falling back to rake'
require 'rake/rdoctask'
end
работает на моей машине, работает Ruby 1.8.7P248 с установленным драгоценным камнем «Rake», но не «Ханна» Gem. Вы уверены, что у вас есть рубигы, требуемые в вашей среде, хотя? Если нет, требование «Rake / RDoCtask» может также потерпеть неудачу.
Я заметил загрузку и требую возврата булева в irb
Возвращаемое значение require
сообщает, была ли библиотека фактически загружена: это true
, если библиотека была загружена, и false
, если библиотека была найдена, но не загружена, так как она уже была загружена -.
Ошибка указывается с исключением LoadError
.