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-forum.com/.
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
···
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?
Zhenning Guan:
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?
You can work on the singleton’s properties with attr_* methods:
class Example
class << self
attr_accessor :prop
end
end
(With the first approach you’d have to define self.prop and
self.prop= to be able to write code like Example.prop = 'value'.)
-- Shot
···
--
Damn, I need to rant, not whimper. Someone bring me a user. -- Wayne Pascoe
Shot (Piotr Szotkowski):
(With the first approach you’d have to define self.prop and
self.prop= to be able to write code like Example.prop = 'value'.)
…or use something like Rails’ cattr_* accessors – but they work on
class variables (as opposed to instance variables of the singleton.)
-- Shot
···
--
Life being what it is, one dreams of revenge. -- Paul Gauguin
what's the meaning of saves some typing???
can you give me a example?
--
Posted via http://www.ruby-forum.com/\.
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