Alan Chen <aero6dof / yahoo.com> wrote: > Ok, I understand the part about avoiding an ivar lookup, but why the > block syntax? Why not: > > def action > trace "message" > do_this > trace "message ..." > do_that > end If trace is set to ignore its argument, trace message will evaluate message, whereas trace {message} will not. Makes a difference if message is, e.g. a complex calculation rather than a simple string. martin