[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

what's different between self.method and class << self?

Zhenning Guan

10/21/2008 7:23:00 AM

we can define a instance method in lots way.
mostly, I saw people define like this:
1.
class A
def self.class_method
#some code here....
end
end

2.
class A
class << self
def class_method
#some code here....
end
end
end


==
the question confused me is what's the advantage of doing this in 2?
they'are different? which is your choose?
--
Posted via http://www.ruby-....

3 Answers

Patrick Doyle

10/21/2008 12:20:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

On Tue, Oct 21, 2008 at 3:23 AM, Zhenning Guan <g.zhen.ning@gmail.com>wrote:

> we can define a instance method in lots way.
> mostly, I saw people define like this:
> 1.
> class A
> def self.class_method
> #some code here....
> end
> end
>
> 2.
> class A
> class << self
> def class_method
> #some code here....
> end
> end
> end
>
>
> ==
> the question confused me is what's the advantage of doing this in 2?
> they'are different? which is your choose?
>
I asked this same question just a couple of weeks ago. The answers I was
given were:

Method 2:
1) Saves some typing
2) Has a slightly different mechanism for looking up class constants, which
99.99% of the time won't be noticed.

Other than that there are no differences between methods 1 & 2.

--wpd

Zhenning Guan

10/21/2008 12:27:00 PM

0

Patrick Doyle wrote:
> On Tue, Oct 21, 2008 at 3:23 AM, Zhenning Guan
> <g.zhen.ning@gmail.com>wrote:
>
>> class A
>> they'are different? which is your choose?
>>
> I asked this same question just a couple of weeks ago. The answers I
> was
> given were:
>
> Method 2:
> 1) Saves some typing
> 2) Has a slightly different mechanism for looking up class constants,
> which
> 99.99% of the time won't be noticed.
>
> Other than that there are no differences between methods 1 & 2.
>
> --wpd

what's the meaning of saves some typing????
can you give me a example?
--
Posted via http://www.ruby-....

Patrick Doyle

10/21/2008 12:32:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

>
> what's the meaning of saves some typing????
> can you give me a example?
> --
> Posted via http://www.ruby-....
>
> Instead of having to type

def self.method
blah
blah
blah
end

you can type (within the class << self clause)

def method
blah
blah
blah
end

I didn't say it would save you a _lot_ of typing, just some :-)

--wpd