Mad Libs: Difference between revisions
Content added Content deleted
(tbas) |
|||
Line 2,429: | Line 2,429: | ||
print story.gsub(/<(.*?)>/, {|s1| blanks{s1} });</lang> |
print story.gsub(/<(.*?)>/, {|s1| blanks{s1} });</lang> |
||
=={{header|tbas}}== |
|||
<lang qbasic>SUB BETWEEN$(TXT$, LHS$, RHS$, AFTER) |
|||
LET LHS = POS(TXT$, LHS$, AFTER) |
|||
IF LHS = 0 THEN |
|||
'LHS$ NOT FOUND IN TXT$. RETURN EMPTY STRING |
|||
RETURN "" |
|||
EXIT SUB |
|||
END IF |
|||
LET RHS = POS(TXT$, RHS$, LHS + LEN(LHS$)) |
|||
IF RHS = 0 THEN |
|||
'NO RHS$ FOUND IMMEDIATELY AFTER LHS$ IN TXT$. RETURN EMPTY STRING. |
|||
RETURN "" |
|||
EXIT SUB |
|||
END IF |
|||
RETURN SEG$(TXT$, LHS + LEN(LHS$), RHS-1) |
|||
END SUB |
|||
DECLARE SUB REPLACE$(INTHIS$, FINDTHIS$, WITHTHIS$) |
|||
LET T = POS(INTHIS$, FINDTHIS$) |
|||
RETURN INTHIS$ |
|||
IF T <> 0 THEN |
|||
MID$(INTHIS$, T, LEN(FINDTHIS$)) = WITHTHIS$ |
|||
RETURN INTHIS$ |
|||
END IF |
|||
END SUB |
|||
LET STORY$ = "" |
|||
LET STORYLINE$ = "" |
|||
WHILE TRUE |
|||
LINE INPUT "Enter line of story (empty line to stop)"; STORYLINE$ |
|||
IF STORYLINE$ = "" THEN |
|||
EXIT WHILE |
|||
END IF |
|||
STORY$ = STORY$ + " " + STORYLINE$ |
|||
END WHILE |
|||
WHILE TRUE |
|||
LET TXT$ = "" |
|||
LET KEY$ = BETWEEN$(STORY$, "<", ">", 0) |
|||
IF KEY$ <> "" THEN |
|||
PRINT "PLEASE ENTER A " + KEY$; |
|||
LINE INPUT TXT$ |
|||
LET SRCH$ = "<" + KEY$ + ">" |
|||
STORY$ = REPLACE$(STORY$, SRCH$, TXT$) |
|||
ELSE |
|||
EXIT WHILE |
|||
END IF |
|||
END WHILE |
|||
PRINT STORY$</lang> |
|||
=={{header|Tcl}}== |
=={{header|Tcl}}== |