On 2/2/07, Andrea Maschio <andrea.maschio / gmail.com> wrote: > Well, that seems to be exactly what i was looking for, thank you Brian. So i > think i could give erb every line to parse or make him parse the entire file > before output it on the screen, right? > now, i've got a little question more. > > Let's say i have a class, Foo, who calls a method of another class to print > the output. For example > > class Foo > > @w > @myvar > > > def initialize > w=Writer.new > end > > def print_something - w.put_on_screen(1) + w.put_on_screen(1, binding) > end > end > > class Writer - def put_on_screen(number) + def put_on_screen(number, b=TOPLEVEL_BINDING) > file=File.open("./screens/screen#{number}","r") > file.each do |line| > e=ERB.new(line) - puts e.result + puts e.result(b) > end > end > end > > in the txt file, how can i make visible @myvar to print it on the screen? ERB#result has another parameter, where you can pass binding - the vars in the file will be evaluated in that context (see http://ruby-doc.org/core/classes/ERB.html#M002835)