Re: What's the difference in calling method vs self.method?
- From: "Ross Bamford" <rosco@xxxxxxxxxxxxxxxxxxxxxx>
- Date: Sat, 31 Dec 2005 19:50:16 -0000
On Sat, 31 Dec 2005 19:11:37 -0000, Marcin Mielżyński <lopexx@xxxxxxxxxxx> wrote:
Jim wrote:Here's some example code. In method_b, what is the difference in calling method_a and self.method_a?
In Your code it makes no difference, however there are situations when You'll have to explicitly resolve method invocation, consider:
class C def meth1 end
def meth2 meth1 # no problem, but.. meth1=4 # variable assignment self.meth1 # so we have to resolve it as a method end end
other thing is operator method invocation:
class D
def + arg p arg end
def meth + 2 # Ruby sees it as unary plus, aka +@ self + 2 # explicit end
end
Somewhat related to the above is the following case:
class Clz attr_accessor :myattr def amethod # doesn't work, Ruby treats as local assignment # myattr = 5 # We have to be explicit. self.myattr = 5 end end
Another area I guess it could make a difference is:
class ClzToo
def amethod # doesn't work, private methods cannot be called # with a receiver. # puts self.aprivate
# So we can only call without 'self' puts aprivate end
private
def aprivate "private" end end
-- Ross Bamford - rosco@xxxxxxxxxxxxxxxxxxxxxx .
- References:
- What's the difference in calling method vs self.method?
- From: Jim
- Re: What's the difference in calling method vs self.method?
- From: Marcin Mielżyński
- What's the difference in calling method vs self.method?
- Prev by Date: Re: Where is my TestResult?
- Next by Date: Re: About Steve Yegge's 'Opinions considered harmful' post
- Previous by thread: Re: What's the difference in calling method vs self.method?
- Index(es):