why we are Using self.method_name?

46 views
Skip to first unread message

Manoj M.

unread,
Nov 28, 2012, 5:00:24 AM11/28/12
to rubyonra...@googlegroups.com
Whats is the idea behind using self.method_name ????? please help





Thanks.

--
Posted via http://www.ruby-forum.com/.

Colin Law

unread,
Nov 28, 2012, 5:04:15 AM11/28/12
to rubyonra...@googlegroups.com
On 28 November 2012 10:00, Manoj M. <li...@ruby-forum.com> wrote:
> Whats is the idea behind using self.method_name ????? please help

The first hit in google for
ruby def self
is

http://yehudakatz.com/2009/11/15/metaprogramming-in-ruby-its-all-about-the-self/

which seems to just about cover it.

Colin

Frederick Cheung

unread,
Nov 28, 2012, 5:16:53 AM11/28/12
to Ruby on Rails: Talk


On Nov 28, 6:04 am, Colin Law <clan...@googlemail.com> wrote:
> On 28 November 2012 10:00, Manoj M. <li...@ruby-forum.com> wrote:
>
> > Whats is the idea behind using self.method_name ????? please help
>
> The first hit in google for
> ruby def self
> is
>
> http://yehudakatz.com/2009/11/15/metaprogramming-in-ruby-its-all-abou...
>
> which seems to just about cover it.
>

Or it could be about disambiguating local variable versus method call.
Hard to tell without more context.

Fred
> Colin

Manoj M.

unread,
Nov 28, 2012, 5:18:09 AM11/28/12
to rubyonra...@googlegroups.com
Colin Law wrote in post #1086832:
Hello colin

it seems tougher, can you paste a link which is in simple words

Fahim Patel

unread,
Nov 28, 2012, 7:36:56 AM11/28/12
to rubyonra...@googlegroups.com
Read Class method and instance method in model .

thil

unread,
Nov 28, 2012, 7:46:05 AM11/28/12
to rubyonra...@googlegroups.com
 Hi ,

Self.methods is static methods using the class name itself you can call the methods and is not available to the instance of the class.

Thanks,
Senthil Srinivasan

Jordon Bedwell

unread,
Nov 28, 2012, 9:02:01 AM11/28/12
to rubyonra...@googlegroups.com
On Wed, Nov 28, 2012 at 6:46 AM, thil <thil...@gmail.com> wrote:
> Self.methods is static methods using the class name itself you can call the
> methods and is not available to the instance of the class.

There is no such thing as static methods in Ruby. self.method_name
(or sometimes self.class.method_name) are instance methods on the
singleton instance of the object (in 1.9 you can access the singleton
via singleton_class too). Since everything is an object in Ruby
(literally) you have multiple types of instances, in his case he is
accessing instance methods on the singleton (or anonymous class or
eigen, however you want to label it) vs instance methods on /an/
instance of that object.

thil

unread,
Dec 4, 2012, 2:26:43 AM12/4/12
to rubyonra...@googlegroups.com
 class A
  def self.b
      print "this is static methods"
   end
 end

You can only be able to call the method "b" by using : A.b

that wat I am trying to say.

thil

unread,
Dec 4, 2012, 2:33:20 AM12/4/12
to rubyonra...@googlegroups.com
Hi Jordon,

Thanks for your information and I agree on wat your saying.

Thanks,
Senthil Srinivasan

On Wednesday, 28 November 2012 19:32:01 UTC+5:30, Jordon Bedwell wrote:
Reply all
Reply to author
Forward
0 new messages