Howdy from a Ruby newbie–hope my question isn’t too annoying.
I’m working through a book on Ruby. Examples using self work fine in
irb, but if I type the same examples in a script and run that I get this
error message: private method called for…NoMethodError.
So, my question is: what do I need to type to properly invoke self in a
script (but that is not needed in the irb?).
I should mention that the explanation of public vs. private methods
isn’t helping me. If I could just see what I have to actually type to
use self in a script vs. the irb a light would go off in my head.
Here’s an example that runs in irb, but not in a script:
def add(n)
self + n
end
puts 2.add(2)
The irb will display the result 4, but the script gives the “private
method…NoMethodError” message.
I’m puzzled as to why Ullman does not address this in his section on
“Using Self.”
Thanks!
-Doc Waller