Ruby classes reloaded

2012 April 16 at 07:36 » Tagged as :ruby, swap,

Whilst learning Ruby with the help of the Humble Little Ruby Book, I needed to do a little bit of extra reading to get a clear picture on classes and objects. This a study note made from that. write, << and puts all expect objects that are strings or can be converted to strings (object that have the .to_s method). That means you cant write code that looks like  “bada” + 123 , it will produce an error. Instead you have to use puts “bada” + 123.to_s . If you want to be able to pass your own classes to puts or other methods that deal exclusively with strings, You can  implement the to_s method. It is the equivalent of java’s toString();  

We have already discussed that you can override methods in classes in an adhoc manner, but there is no way to overload methods. A great pity.

self was previously put forth as a reference to the current object, however it can also be used to define 'static' methods, better known as class scope methods.

  def self.class_scope_method

    some code

  end

Ruby reflection if you can call it that, is rather interestingly. You can call instance_methods on an object and it will produce a listing of all the methods that are available.

Some of the tidbits in this post  is thanks largely to knowledge gathered from  http://juixe.com/techknow/index.html/2007/01/22/ruby-class-tutorial/ and some of it from http://www.ruby-lang.org/en/documentation/quickstart