Print Out Code in Program

class Ab
def code
a = 5
b = 2
end
end

Is there a way to store the actual code of a class or definition as a
string without manually doing it? Such as if you were doing a tutorial
on how something works. So basically I could do print aB and I get “def
code a = 5 b = 2 end”

On May 9, 2006, at 12:40 AM, Patrick wrote:

“def
code a = 5 b = 2 end”


Posted via http://www.ruby-forum.com/.

Sounds like a job for xmp[1]
[1] http://raa.ruby-lang.org/project/xmp/

@ab = <<-CODE
class Ab
def code
a = 5
b = 2
end
end
CODE

eval(@ab)
def print_class(klass)
print instance_variable_get “@#{klass.to_s.downcase}”
end

print_class(Ab)

Thanks, the code works, but is there still a way to print out everything
in a class by just referencing the class name? To get everything to be
displayed using this code it has to basicaly start before the class and
end afterward.

I was asking something similar about blocks in the near past. After a
fiery discussion I was advised tou use a ParseTree trick to go back to
the original code and read it…

Patrick wrote:

code a = 5 b = 2 end"

SCRIPT_LINES__, maybe?
http://www.rubyquiz.com/quiz38.html

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs