On Fri, Mar 26, 2010 at 11:45 AM, Kurt  Stephens <redmine / ruby-lang.org> wr=
ote:
> Issue #889 has been updated by Kurt =A0Stephens.
>
>
> This is not a good idea, because the expression value Strings accumulated=
 in the Array must be protected from mutation.
> ERB expressions can have side-effects.
>
> <pre>
> SOME_STRING =3D 'foobar'
> def foo
> =A0SOME_STRING
> end
> def bar
> =A0SOME_STRING.sub!(/bar/, '')
> =A0SOME_STRING
> end
> # ERB GENERATED CODE: from "<%=3D foo %><%=3D bar %>"
> eoutvar =3D [ ]
> eoutvar << foo
> eoutvar << bar
> eoutvar.join('')
> </pre>

I disagree. That's based on a loose assumption that <%=3D ... %> behaves
like #{...}.

But all it says is "output" not necessarily "interpolate" -- that's a
side effect of the current implementation. Much like using <% .... #
comment %> was an assumption that later broke.

jeremy