Ken Bloom wrote: > On Sat, 07 Apr 2007 04:07:16 +0900, Tim Pease wrote: > >> On 4/6/07, talkin ruby <rubytalk.heidmotron / gmail.com> wrote: >>> just wondering if you could do something like this... >>> >>> ERB.new( some_erb_string ).result # '<%= result %>' another erb >>> template >>> >>> so that way the result could be processed by another ERB.new >>> >>> >> You are an evil and twisted individual! ;) >> >> To answer your question, though, sure! ERb can do that. >> >> require 'erb' >> >> @blah = '<%= @not_blah %>' >> ERB.new( "blah <%= @blah %>" ).result #=> "blah <%= @not_blah %>" > > If you really want to be evil and twisted, what's the smallest self- > reproducing erb program you can write that doesn't read its own file. > > The following solution is illegal: > <%= open(__FILE__){|f| f.read} %> I think you mean "what's the smallest non-trivial self-reproducing erb program...": irb(main):012:0> ERB.new(' ').result => " " irb(main):013:0> ERB.new('').result => "" :-) -- Alex