From: Luigi P. [email protected]
in modo da poter anche fare Foo.new.process {|arg| … }
già che ci siamo, io farei
class Foo
def initialize(args)
…
end
def close
…
end
def process(&block)
block.call(self)
ensure # def… end funziona come begin…end
self.close()
end
def self.process(args, &block) # classmethod
new(args).process(&block)
end
così da mimare l’interfaccia di File.open e simili:
Foo.process(something) do |foo|
foo.stuff
end