title: Use parentheses to enclose a block in Ruby?
body: <p>I have accidentally discovered the Ruby idiom of <code>||=()</code>,
  as in:</p>
  
  <pre><code>def app_logger
    @app_logger ||= (
      logfile = File.open(::Rails.root.join(LOG_FILE), 'a')
      logfile.sync = true
      AppLogger.new(logfile)
    )
  end
  </code></pre>
  
  <p>I tried to use <code>{}</code> instead of <code>()</code>, but it didn't work.  I thought <code>{}</code> is meant to enclose a block.</p>
  
  <p>Is this a known idiom?  Is it a good style?</p>
  
  <p>I haven't found much documentation on this kind of use of parentheses.  Any pointers would be helpful.</p>
  
  <p>Please note this post is about the use of <code>()</code> this way, not the use of <code>||=</code>. There are many posts about this latter idiom already.</p>