Mad Libs: Difference between revisions

208 bytes removed ,  6 years ago
(tbas)
Line 163:
 
=={{header|Aime}}==
<lang aime>integerfile if;
file f;
data b;
list l;
record r;
 
f_affix(f, "/dev/.stdin");
 
o_text("Enter the blank line terminated story:\n");
 
while (0 < f_b_line(f, .b_line(b)) {
l_append(l, .append(b);
}
 
for (, b in l) {
i = 0;
while (i < l_length(l)) {
integer p, q;
text s, t;
 
bwhile ((p = l_q_datab.place(l,'<')) i^ -1); {
q = b_probe(b, .probe(p, '>');
 
while ((p = b_index(b, '<')) ^ -1) {
q = b_probe(b, p, '>');
if (q ^ -1) {
s = cut(b_stringbq_string(b), p + 1, q - p - 1);
b_erase(b, .erase(p, q);
if (!r_key(r, .key(s)) {
o_text(cat3o_("Replacement for `", s, "':'\n"));
f_line(f, .line(t);
r_put(r, .put(s, t);
}
b_pasteb.paste(b, p, r_query(r, [s)]);
}
}
 
i += 1;
}
 
l.ucall(o_, 0, "\n");</lang>
while (l_length(l)) {
o_text(b_string(l_head(l)));
o_newline();
l_delete(l, 0);
}</lang>
 
=={{header|ALGOL 68}}==
Anonymous user