Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@azendal
Created July 13, 2011 15:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save azendal/1080511 to your computer and use it in GitHub Desktop.
Save azendal/1080511 to your computer and use it in GitHub Desktop.
porque no puedo mandar llamar un metodo privado con self
class A
#defining static methods
instance_eval do
def x
'x'
end
instance_eval do
private
def private_m
'class private'
end
end
end
class_eval do
public
def public_m
puts self.to_s
self.private_m
end
end
class_eval do
private
def private_m
'instance private'
end
end
def to_s
"instancia de A"
end
end
puts A.x
puts A.send :private_m
puts A.new.public_m
puts A.instance_methods(false)
A.class_eval do
def y
'y instance'
end
end
puts '---------'
puts A.instance_methods(false)
puts A.new.y
puts '---------'
puts A.class_eval('methods(false)')
A.instance_eval do
def z
'z result'
end
end
puts '---------'
puts A.class_eval('methods(false)')
puts '---------'
puts A.z
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment