Hi all,

I mentioned this on ruby-talk, but thought I should mention it here in
case it got buried.

Would it be possible to add a want_object? method that checks calling
context?  This would allow users to pass different values based on
calling contex, and would neatly solve the "what should bang methods
return" debate.

Here's some theoretical syntax:

class String
   def test!
      if want_object?
         return self
      end
      nil
   end
end

s = "hello"
s.test!      # returns nil
s.test!.chop # self ("hello") is returned from test!

result = s.test! # still returns nil

I suppose there's the danger of the slippery slope, where we start
adding more and more context checking methods, like want_lvalue?,
want_rvalue?, etc, and things get out of control.

But, I don't even know if this syntax is possible, so perhaps it's a
moot point.

Just an idea.

Regards,

Dan

PS - I actually brought this up about 3 years ago, but it didn't get too
much discussion.