Yochen Gutmann wrote:
> Hi,
> 
> I was just wondering: how do I react on a method-invocation with a 
> nil-object instead of eg. String? How do I test it? And how can I assure 
> that it is the right kind of object?
> 
> class AClass
>   def a_method aString
>      puts aString+aString
>      puts aString.reverse
>    end
> 
> end
> 
> an_object = AClass.new
> an_object.a_method "hello"  # works
> an_object.a_method          3#-> undefined method
> an_object.a_method nil      #-> undefined method

I'd do it like this:

   class SomeClass
     def foo(obj)
       str = obj.to_str
       puts str + str # or `str * 2'
       puts str.reverse
     end
   end

Though I know some very smart people on this list disagree with me.


Cheers,
Daniel