Mad Libs: Difference between revisions
Content added Content deleted
(→{{header|REXX}}: added the REXX language. -- ~~~~) |
Walterpachl (talk | contribs) m (→{{header|REXX}}: typos (mostly)) |
||
Line 589: | Line 589: | ||
=={{header|REXX}}== |
=={{header|REXX}}== |
||
<lang rexx>/*REXX program to prompt user for template |
<lang rexx>/*REXX program to prompt user for template substitutions within a story.*/ |
||
@=; @.=; !.=0; #=0; old.= /*assign some defaults. */ |
@=; @.=; !.=0; #=0; old.= /*assign some defaults. */ |
||
parse arg iFID . /*allow |
parse arg iFID . /*allow user to specify inputfile*/ |
||
if iFID=='' then iFID="MAD_LIBS.TXT" /*Not specified? Then use default*/ |
if iFID=='' then iFID="MAD_LIBS.TXT" /*Not specified? Then use default*/ |
||
Line 601: | Line 601: | ||
recs=recs-1 /*adjust for E-O-F or blank line.*/ |
recs=recs-1 /*adjust for E-O-F or blank line.*/ |
||
do k=1 /*look for |
do k=1 /*look for templates in text. */ |
||
parse var @ '<' ? '>' @ /*scan for <xxx> stuff in text.*/ |
parse var @ '<' ? '>' @ /*scan for <xxx> stuff in text.*/ |
||
if ?='' then leave /*if no XXX, then we're done. */ |
if ?='' then leave /*if no XXX, then we're done. */ |
||
Line 610: | Line 610: | ||
parse pull ans; if ans\='' then leave |
parse pull ans; if ans\='' then leave |
||
end /*forever*/ |
end /*forever*/ |
||
#=#+1 /*bump the |
#=#+1 /*bump the template counter */ |
||
old.#='<'?">"; new.#=ans /*assign "old" name, "new" name. */ |
old.#='<'?">"; new.#=ans /*assign "old" name, "new" name. */ |
||
end /*k*/ |
end /*k*/ |
||
Line 617: | Line 617: | ||
do m=1 for recs /*display the text, line for line*/ |
do m=1 for recs /*display the text, line for line*/ |
||
do n=1 for # /*perform |
do n=1 for # /*perform substitutions in txt */ |
||
@.m=changestr(old.n, @.m, new.n) |
@.m=changestr(old.n, @.m, new.n) |
||
end /*n*/ |
end /*n*/ |
||
say @.m /*display (new) |
say @.m /*display (new) substituted text.*/ |
||
end /*m*/ |
end /*m*/ |
||