Most rubyists know you can define a method on a single object like so:
logger = Logger.new(STDOUT)
def logger.flush
puts 'flushed log'
end
logger.flush #=> 'flushed log'
Which means you can replace the logger in def logger.flush with almost anything. For example, lets turn that previous snippet into a one liner:
def (logger = Logger.new(STDOUT)).flush; puts('flushed log'); end
logger.flush #=> 'flushed log'
Sorry, comments are closed for this article.