On 27.10.2007 17:18, Dave River wrote:
>> Thus 'if x.ok?' returns the same as 'if x' for any object, but @ok for
>> yours!
> 
> 
> Thanks for your explanation!
> 
> In fact, I am making a wrapper class called Boolean which cooperates 
> with some legacy code in my company because there are some compatibility 
> problems between different languages.
> 
> I write some code like the following and the Boolean object hides some 
> underlying code which solve the compatibility problems.
> x = Boolean.new()
> if x
>    do something....
> end
> 
> If ruby does not support something like __bool__ in Python, I need to 
> write some code in the following way.
> x = Boolean.new()
> if x.evaluate()
>    do something...
> end
> 
> But I would prefer "if x " instead of "if x.evaluate" because it is more 
> straight forward. So, I would like to know whether there are any ways to 
> do so.

What exactly does Boolean do?  Maybe you can get rid of it or do some 
other changes so you can directly work with "true" and "false.

Kind regards

	robert