Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
16
Task/Extend-your-language/REXX/extend-your-language-1.rexx
Normal file
16
Task/Extend-your-language/REXX/extend-your-language-1.rexx
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
if2( some-expression-that-results-in-a-boolean-value, some-other-expression-that-results-in-a-boolean-value)
|
||||
|
||||
|
||||
/*this part is a REXX comment*/ /*could be a DO structure.*/
|
||||
select /*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ /*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
|
||||
|
||||
when if.11 /*{condition 1 & 2 are true}*/ then perform-a-REXX-statement
|
||||
when if.10 /*{condition 1 is true}*/ then " " " "
|
||||
when if.01 /*{condition 2 is true}*/ then " " " "
|
||||
when if.00 /*{no condition is true}*/ then " " " "
|
||||
|
||||
end
|
||||
|
||||
/*an example of a DO structure for the first clause: */
|
||||
|
||||
when if.11 /*{condition 1 & 2 are true}*/ then do; x=12; y=length(y); end
|
||||
23
Task/Extend-your-language/REXX/extend-your-language-2.rexx
Normal file
23
Task/Extend-your-language/REXX/extend-your-language-2.rexx
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/*REXX program introduces the IF2 "statement", a type of a four-way compound IF: */
|
||||
parse arg bot top . /*obtain optional arguments from the CL*/
|
||||
if bot=='' | bot=="," then bot=10 /*Not specified? Then use the default.*/
|
||||
if top=='' | top=="," then top=25 /* " " " " " " */
|
||||
w=max(length(bot), length(top)) + 10 /*W: max width, used for displaying #.*/
|
||||
|
||||
do #=bot to top /*put a DO loop through its paces. */
|
||||
/* [↓] divisible by two and/or three? */
|
||||
if2( #//2==0, #//3==0) /*use a new four-way IF statement. */
|
||||
select /*now, test the four possible cases. */
|
||||
when if.11 then say right(#,w) " is divisible by both two and three."
|
||||
when if.10 then say right(#,w) " is divisible by two, but not by three."
|
||||
when if.01 then say right(#,w) " is divisible by three, but not by two."
|
||||
when if.00 then say right(#,w) " isn't divisible by two, nor by three."
|
||||
otherwise nop /*◄──┬◄ this statement is optional and */
|
||||
end /*select*/ /* ├◄ only exists in case one or more*/
|
||||
end /*#*/ /* └◄ WHENs (above) are omitted. */
|
||||
exit /*stick a fork in it, we're all done. */
|
||||
/*──────────────────────────────────────────────────────────────────────────────────────*/
|
||||
if2: parse arg if.10, if.01 /*assign the cases of 10 and 01 */
|
||||
if.11= if.10 & if.01 /* " " case " 11 */
|
||||
if.00= \(if.10 | if.01) /* " " " " 00 */
|
||||
return ''
|
||||
Loading…
Add table
Add a link
Reference in a new issue