рубин: кодируйте для установки драгоценного камня при пропавших без вести

protected void finalize() throws Throwable {}
  • каждый класс наследует метод finalize() из java.lang.Object
  • , метод вызывается сборщиком мусора, когда он не определяет больше ссылок на объект exist
  • Метод finalize объекта не выполняет никаких действий, но может быть переопределен любым классом
  • , как правило, он должен быть переопределен для очистки ресурсов, отличных от Java, т.е. закрытие файла
  • , если переопределить finalize(), хорошая практика программирования - использовать инструкцию try-catch-finally и всегда вызывать super.finalize(). Это мера безопасности, обеспечивающая непреднамеренное пропущение закрытия ресурса, используемого объектами, вызывающими класс
    protected void finalize() throws Throwable {
         try {
             close();        // close open files
         } finally {
             super.finalize();
         }
     }
    
  • . Любое исключение, созданное finalize() во время сбора мусора, останавливает завершение, но в противном случае игнорируется
  • finalize() никогда не запускается более одного раза на любом объекте
blockquote>

, указанном по адресу: http://www.janeg.ca/scjp/ gc / finalize.html

Вы также можете проверить эту статью:

5
задан Derick Bailey 27 October 2009 в 19:20
поделиться

2 ответа

Проверка доступности описана в этом предыдущий StackOverflow Quesiton

begin
  gem "somegem"
  # with requirements
  gem "somegem", ">=2.0"
rescue Gem::LoadError
  # not installed
end

или

matches = Gem.source_index.find_name(gem.name, gem.version_requirements)

Что касается установки, похоже, что rails использует систему для установки gem также

 puts %x(#{cmd})
6
ответ дан 14 December 2019 в 13:40
поделиться

Это - мой способ сделать это

['json','date','mail'].each { |req|
    begin
        gem req
    rescue Gem::LoadError
        puts " -> install gem " + req
        Gem.install(req)
        gem req
    end
    require req
}
0
ответ дан 14 December 2019 в 13:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: