Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

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

Back to the top