On 9 Jun 2011, at 15:16, David Landgren wrote:

> I had all the parts lying around, but didn't realise they were germane to the 
> problem. So, thanks for the cogent explanation.

You're welcome. ;-)

This effect means that:

  if (!something)

and

  unless(something)

don't do the same thing either, whereas from the 'overloaded operator' 
point-of-view *as far as I can tell* they do the same thing. The 'unless' 
statement runs the overloaded '!' subroutine of the class in question, as 
opposed to doing a 'bool' conversion on the class and doing a logical NOT on 
the result of that, which is the other thing it *might* be expected to do.

I just wrote a class to check this. It claims that everything is true 
(especially the lies), and is called 'Garak', ;-)

-- 
David Matthewman

Reply via email to