I have resolved to make all my If statements to only 3 forms for consistency:

IF condition THEN statement ELSE statement

IF condition
THEN statement
ELSE statement

IF condition
THEN
statements
ELSE
statements
END IF

Now if I could just get the complier to resolve only from these choices, my nested ifs would always work.

The problem is that the compiler allows too many forms, and mixing of forms. The compiler does not prioritize by form type which can lead to not always accepting a valid form.

Example 1 below is a valid form.
Example 2 would be mixing two forms in the same if statement.
It is not a valid interpretation in any case without adding another end if.
Therefore, the compiler should pick example 1

If the compiler treated lines like parens for ifs, then it could also do a better job resolving these correctly.

Dennis

On Jan 25, 2006, at 11:02 PM, Brian Yennie wrote:

Dave, Chipp, et al.

Consider that the following snippet is actually ambiguous. Notice two different formatting passes at exactly the same code. Now, of course, the first formatting actually resolves to valid code, while the second one is one "end if" short -- but who is the compiler to say which one you intended?

Well, that's my theory anyway - you can't actually determine which "if" matches matches which "else" and "end if".

1)
If x > y then
    doSomething1
    if a = be then doSomething2 ##problem here
else
    doSomethng3
end if

2)
If x > y then
    doSomething1
    if a = be then doSomething2 ##problem here
    else
        doSomethng3
    end if

_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to