From: "Charles"
>    Here's a little question.  Perhaps I've been
> spoiled in other languages, but this is starting
> to frustrate me.  I have something like:
>    if THIS and THAT []
> Thing is, if THIS is false, it continues to
> evaluate THAT anyways.  What's the point?
> The result is obviously false anyways.  I'm
> working on a case like this (perhaps
> someone can provide a more elegant solution):
>    if (2 = length? p: parse filename ".") AND (not none? find pick p 2
"htm")
> [ ...
> Obviously, if the first condition is false,
> I want it to quit without evaluating the second
> condition.  Help?  Any way I can continue doing
> this in the same line, and without worrying about
> throwing and catching errors?  Or am I more or
> less doomed to yet another nested if?  Thanks folks.

Hi, Charles,

Two helpful words are 'any and 'all.  An ad hoc session at a *fresh* console
demonstrates that 'all short cuts if false:

if all [1 > 2 c: 3 = 3] [ print "hello"] ;== none
probe c ;;;;;value of c was not set
;** Script Error: c has no value
;** Where: connect-to-link
;** Near: probe c
if all [1 < 2 c: 3 = 3] [ print "hello"] ;hello
probe c ;== true

Hope that this both helps and causes REBOL to also spoil you.
:-)
--Scott Jones

-- 
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the 
subject, without the quotes.

Reply via email to