У меня есть метод, который возвращает объект File. Мне нужно знать, когда файл закрывается. Это не так просто, как переписывание метода close. Метод close не вызывается, если файл закрыт деструктором.Как ruby может обеспечить обратный вызов, когда файл закрыт?
Он должен работать так:
def something
get_lock_on_file
file File.new("foobar")
file.on_close { release_lock_on_file }
file
end
Как реализовать файл # ON_CLOSE (& блок)?
Позволяет ли Ruby переопределять деструктор? – luiscubal
Можете ли вы поделиться некоторым кодом? – khelll
@luiscubal: Ruby не имеет деструкторов. –