Type : CREATION_INTERNE
Aucune donnée externe ou table SAS n'est utilisée. Le contenu est généré dynamiquement par la logique du template.
| 1 | PROC TEMPLATE; |
| 2 | define tagset tagsets.do_done; |
| 3 | |
| 4 | define event doc; |
| 5 | |
| 6 | put "HELLO" nl ; |
| 7 | |
| 8 | eval $i 0; |
| 9 | |
| 10 | put "i is " $i nl; |
| 11 | |
| 12 | put "Going into a Loop to 10" nl; |
| 13 | put "Continue at 5" nl; |
| 14 | put "stop at 8" nl; |
| 15 | |
| 16 | DO /while $i < 10; |
| 17 | eval $i $i+1; |
| 18 | continue /IF $i eq 5; |
| 19 | stop /IF $i eq 8; |
| 20 | put "I is " $i nl; |
| 21 | ELSE; |
| 22 | put "do this if i started out > 10" nl; |
| 23 | done; |
| 24 | |
| 25 | eval $i 0; |
| 26 | |
| 27 | put "i is " $i nl; |
| 28 | |
| 29 | put "Going into a false Loop" nl; |
| 30 | |
| 31 | DO /while $i > 10; |
| 32 | eval $i $i+1; |
| 33 | put "I is " $i nl; |
| 34 | ELSE; |
| 35 | put "Hello from a while's ELSE" nl; |
| 36 | done; |
| 37 | |
| 38 | set $poem "Jabberwocky"; |
| 39 | |
| 40 | /* Test if ... */ |
| 41 | do /if cmp($poem, "Jabberwocky"); |
| 42 | put "inside SIMPLE IF: should PRINT" nl; |
| 43 | else; |
| 44 | put "inside ELSE: should not PRINT" nl; |
| 45 | done; |
| 46 | |
| 47 | /* Test nesting in an else... */ |
| 48 | do /if ^cmp($poem, "Jabberwocky"); |
| 49 | put "inside IF: should not PRINT" nl; |
| 50 | else; |
| 51 | put "inside ELSE: should PRINT" nl; |
| 52 | |
| 53 | do /if cmp($poem, "Jabberwocky"); |
| 54 | put "IF inside ELSE, does PRINT" nl; |
| 55 | else; |
| 56 | put "ELSE inside ELSE, doesn't print" nl; |
| 57 | done; |
| 58 | |
| 59 | put "Still inside else: should print" nl; |
| 60 | |
| 61 | done; |
| 62 | |
| 63 | /* test break if */ |
| 64 | trigger bif; |
| 65 | |
| 66 | put "GOODBYE" nl; |
| 67 | |
| 68 | END; |
| 69 | |
| 70 | /*---------------------------------------------------------------eric-*/ |
| 71 | /*-- This is a more effecient and easier to read construct which is --*/ |
| 72 | /*-- equivalent to: --*/ |
| 73 | /*-- --*/ |
| 74 | /*-- put "Hello from bif" nl /if cmp($poem, "Jabberwocky"); --*/ |
| 75 | /*-- break /if cmp($poem, "Jabberwocky"); --*/ |
| 76 | /*------------------------------------------------------------29May03-*/ |
| 77 | |
| 78 | define event bif; |
| 79 | put "Hello from bif: prints" nl / breakif cmp($poem, "Jabberwocky"); |
| 80 | |
| 81 | put "This won't PRINT" nl; |
| 82 | END; |
| 83 | |
| 84 | |
| 85 | END; |
| 86 | RUN; |
| 1 | ods tagsets.do_done file="do_done_out.txt"; |
| 2 | ods tagsets.do_done close; |
| 3 |