nathanpowell.org

Running, hacking and being awesome.
  • Home
  • Current Schedule
  • Personal Records

Understanding message passing in Ruby

Published by Nathan Powell on January 27, 2007 09:12 am under programming

I saw a link on reddit comparing Python and Ruby. The article, surprisingly, wasn’t an infantile fan boy tirade. And it solidified some of my Ruby reading. One of the things I don’t always “read” when I look at Ruby is the concept of message passing. However the following snippet, I think, makes it very real.


class Foo

def something
puts "Hello"
end

end

f = Foo.new
f.send('something')
f.something

Both, ‘.send()’ and ‘.method’ result in the same thing.

In my mind, calling a method on an object is still pretty rooted in the Java idea that we inspect the object for something, whereas in Ruby we are passing a message to the object. The difference is subtle, but interesting.

No Comment

Comments are closed.

Posting your comment.

  • Search

  • Archives

    • July 2010 (2)
    • June 2010 (6)
    • May 2010 (2)
    • February 2010 (1)
    • January 2010 (1)
    • December 2009 (2)
    • September 2009 (2)
    • August 2009 (4)
    • July 2009 (4)
    • June 2009 (2)
    • May 2009 (3)
    • April 2009 (1)
    • March 2009 (3)
    • February 2009 (5)
    • January 2009 (4)
    • December 2008 (5)
    • November 2008 (2)
    • October 2008 (10)
    • September 2008 (4)
    • August 2008 (10)
    • July 2008 (11)
    • June 2008 (14)
    • May 2008 (15)
    • April 2008 (10)
    • March 2008 (16)
    • February 2008 (17)
    • January 2008 (37)
    • December 2007 (21)
    • November 2007 (30)
    • October 2007 (29)
    • September 2007 (22)
    • August 2007 (30)
    • July 2007 (49)
    • June 2007 (32)
    • May 2007 (29)
    • April 2007 (38)
    • March 2007 (26)
    • February 2007 (25)
    • January 2007 (23)
    • December 2006 (10)
    • November 2006 (12)
    • October 2006 (9)
    • September 2006 (9)
    • August 2006 (5)
    • July 2006 (13)
    • June 2006 (9)
    • May 2006 (8)
    • April 2006 (11)
    • March 2006 (12)
    • February 2006 (12)
    • January 2006 (13)
    • December 2005 (15)
    • November 2005 (19)
    • October 2005 (8)
  • Categories

    • blather (70)
    • books (10)
    • computers (179)
    • cooking (1)
    • economics (3)
    • emacs (3)
    • football (1)
    • gaming (1)
    • hiking (5)
    • housekeeping (5)
    • lifehacking (7)
    • music (3)
    • paddling (2)
    • personal (2)
    • politics (21)
    • programming (77)
    • running (266)
    • smoking (41)
    • sysadmin (13)
    • tlc (10)
    • Uncategorized (1)
  • Pages

    • Current Schedule
    • Personal Records

Copyright © 2010 nathanpowell.org
WordPress Theme based on Light Theme