ELSE IF END --> ELIF?
07-21-2014, 12:08 PM (This post was last modified: 07-21-2014 12:09 PM by Joe Horn.)
Post: #1
 Joe Horn Senior Member Posts: 1,902 Joined: Dec 2013
ELSE IF END --> ELIF?
If you type the following code into a CAS program...

Code:
(x)->BEGIN   IF 1==2 THEN x:=3;   ELSE IF 4==4 THEN x:=5; END; END;   RETURN(x); END;

... then exit the program editor, then edit the program again, you'll see that it has turned into this:

Code:
(x)->BEGIN     IF 1 = 2 THEN x:=3;    ELIF (4==4) THEN x:=5;  END ;     RETURN(x);   END;

The ELSE IF turned into ELIF, and one of the ENDs is gone. I don't see ELIF mentioned in any of the docs. Is this new in rev 6030? Borrowed syntax from C or C++ perhaps?

<0|ɸ|0>
-Joe-
07-21-2014, 07:42 PM
Post: #2
 Helge Gabert Senior Member Posts: 467 Joined: Dec 2013
RE: ELSE IF END --> ELIF?
I've seen that also since rev 6030. It is weird, but seems to run fine.
07-23-2014, 03:40 AM
Post: #3
 htom trites Junior Member Posts: 33 Joined: Dec 2013
RE: ELSE IF END --> ELIF?
Logically they're the same, but if you go back to edit you may get confused, because you have to change the ELIF into an ELSE IF ... and then insert an END in the correct place.
Code:
 if condition   then statement   else if condition            then statement            {else statement}         endif endif

It's a construct that seems to creeping in, and I see no good reason for it. In this case, it's easy to see, but if there's over a page or two of nested code, it seems designed to invoke the propagating error corrections gods.

(One of the reason I like labeled things and matching labels for their ends.
Code:
 sue:begin       jerry:if condition                 then statement                 else sam:if condition                         then statement                        {else statement}                      endif(sam)               endif(jerry) end(sue)
I rarely get them, though. For a while I used a happy pretty-printer that used a long list of names, prepending and appending them as comments.)
)
 « Next Oldest | Next Newest »

User(s) browsing this thread: 1 Guest(s)