Print Out Code in Program


#1

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”


#2

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/


#3

@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)


#4

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.


#5

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…


#6

Patrick wrote:

code a = 5 b = 2 end"

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