Simon Strandgaard wrote:
> On 1/10/07, Trans <transfire / gmail.com> wrote:
> > Sometimes i do this:
> >
> >   return x if x
> >
> > Anyway to code it as:
> >
> >   return_on x
> >
>
> I cannot recall I ever have used return, in this way,
> but my coding style may be 5% different than yours.
> Maybe I can improve my minimal insight.
>
> Any good (larger) examples of this thing?

I don't really have any examples that are repleat with it, but as to
insight it's especially convenient when caching a return value:

  def x
    return_on @cache[:x]
    # do stuff
    @cache[:x] = result_of_stuff
  end

this gets rid of an extraneous variable too b/c otherwise, the more
efficient impl. is:

  def x
    r = @cache[:x]
    return r if r
    # do stuff
    @cache[:x] = result_of_stuff
  end

funny thing i just came across a similar case for break. how would you
DRY this up and get rid of 'result'?

    result = nil
    files.each do
      result = require file
      break if result
    end
    if result
      ...

t.