Runtime evaluation: Difference between revisions
Content added Content deleted
m (→{{header|Go}}: fixed lang tag) |
(→{{header|REXX}}: added the REXX language. -- ~~~~) |
||
Line 512: | Line 512: | ||
> eval(expr1, env) |
> eval(expr1, env) |
||
[1] 11</lang> |
[1] 11</lang> |
||
=={{header|REXX}}== |
|||
This REXX program does a: |
|||
<br> 1) run-time evaluation of an internal expression, and a |
|||
<br> 2) run-time evaluation of a user-prompted expression. |
|||
<lang rexx> |
|||
/*REXX program to illustrate ability to execute code written at runtime.*/ |
|||
numeric digits 10000000 |
|||
bee=51 |
|||
stuff='bee=min(-2,44); say 13*2 "[from inside the box."; abc=abs(bee)' |
|||
interpret stuff |
|||
say 'bee=' bee |
|||
say 'abc=' abc |
|||
say |
|||
say 'enter an expression:' |
|||
pull expression |
|||
say |
|||
say 'expression entered is:' expression |
|||
interpret '?='expression |
|||
say |
|||
say 'length of result='length(?) |
|||
say ' left 50 bytes of result='left(?,50)'...' |
|||
say 'right 50 bytes of result=...'right(?,50) |
|||
</lang> |
|||
Output [with the user entering: <tt> 2**44497 - 1 </tt> ] |
|||
<br>which happens to be the 27th Mersenne prime. |
|||
<pre style="height:35ex;overflow:scroll"> |
|||
26 [from inside the box. |
|||
bee= -2 |
|||
abc= 2 |
|||
enter an expression: |
|||
2**44497 - 1 |
|||
expression entered is: 2**44497 - 1 |
|||
length of result=13395 |
|||
left 50 bytes of result=85450982430363380319330070531840303650990159130402... |
|||
right 50 bytes of result=...22977396345497637789562340536844867686961011228671 |
|||
</pre> |
|||
=={{header|Ruby}}== |
=={{header|Ruby}}== |