Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EDT:Writing basic logic"
Line 50: | Line 50: | ||
<source lang="java"> | <source lang="java"> | ||
return ( x ); | return ( x ); | ||
+ | </source> | ||
+ | <code> | ||
+ | return ( x ); | ||
+ | </code> | ||
+ | |||
+ | The case statement (like a chain of if-else-if's) | ||
+ | <source lang="java"> | ||
+ | case ( x ) | ||
+ | when ( 1 ) | ||
+ | y = 1; | ||
+ | when ( 2, 3, 4 ) | ||
+ | y = 2; | ||
+ | when ( "hello", z ) | ||
+ | y = 3; | ||
+ | when ( computerOnFire() || computerUnplugged() ) | ||
+ | y = 4; | ||
+ | otherwise | ||
+ | y = 5; | ||
+ | end | ||
</source> | </source> | ||
Revision as of 16:04, 10 February 2012
Basic EGL statements
EGL's syntax is similar to C, Java, and other languages influenced by ALGOL.
Assign x to y
y = x;
If-then statement
if ( x > 4 ) x = y; end
If-then-else statement
if ( x > 4 ) x = y; else x = 10; end
While loop
while ( x > 0 ) counter += 1; x -= 1; end
Call a function
doSomething();
Call a function, passing in parameters, and assign the result to a variable
z = doSomethingElse( 1, x, "hello", true );
Return from a function
return;
Return a value from a function
return ( x );
return ( x );
The case statement (like a chain of if-else-if's)
case ( x ) when ( 1 ) y = 1; when ( 2, 3, 4 ) y = 2; when ( "hello", z ) y = 3; when ( computerOnFire() || computerUnplugged() ) y = 4; otherwise y = 5; end
Exception handling with the try-onException statement
try addToAccount( 100 ); deductFromAccount( 100 ); onException ( ex AnyException ) SysLib.writeStderr( "Oh noes! " :: ex.message ); end
Handling more than one kind of exception
try addToAccount( 100 ); deductFromAccount( 100 ); onException ( ex1 AddException ) SysLib.writeStderr( ex1.message ); onException ( ex2 DeductException ) SysLib.writeStderr( ex2.message ); onException ( ex3 UserException ) SysLib.writeStderr( ex3.message ); end