En Fri, 03 Aug 2007 11:56:07 -0300, Roel Schroeven <[EMAIL PROTECTED]> escribió:
> Paul Boddie schreef: >> On 3 Aug, 11:45, Stef Mientki <[EMAIL PROTECTED]> wrote: >>> Sorry, my question missed the essential "NOT", >>> here is an example, that behaves different in Delphi, >>> (so I guess Delphi is not a real language ;-) >> >> Delphi is based on Pascal, and from what I can recall from my >> university textbook, there isn't any mandatory short-circuit >> evaluation in Pascal: it's an implementation-dependent feature. >> Consequently, an expression involving boolean operators in such >> languages may well evaluate each term (potentially causing side- >> effects) before determining the final result. > > I even thought Pascal never uses short-circuit evaluation, and always > evaluates all terms. I might be wrong about that though; it's been quite > a long time since I've used Pascal. Delphi defaults to short-circuit, but there is a compiler switch to make it evaluate all the arguments. But most people rely on this, and write code like: if (MyObject <> nil) and (MyObject.Event <> nil) then MyObject.Event(Self); and that would break if not short-circuited. -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list