Ruby/File Directory/File class

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск

Add class method to File class

  class File
    def File.open_and_process(*args)
      f = File.open(*args)
      yield f
      f.close()
    end
  end
  File.open_and_process("testfile", "r") do |file|
    while line = file.gets
      puts line
    end
  end



Override file open method

class File 
    def File.open(*args) 
        result = f = File.new(*args) 
        if block_given? 
            begin 
                result = yield f 
            ensure 
                f.close 
            end 
        end 
        return result 
    end 
end