ABC problem: Difference between revisions
Content added Content deleted
imported>Arakov |
Not a robot (talk | contribs) (Add Refal) |
||
Line 9,195: | Line 9,195: | ||
conFUsE : true |
conFUsE : true |
||
</pre> |
</pre> |
||
=={{header|Refal}}== |
|||
<syntaxhighlight lang="refal">$ENTRY Go { |
|||
= <Each Show (<Blocks>) <Words>>; |
|||
}; |
|||
Each { |
|||
s.F (e.Arg) = ; |
|||
s.F (e.Arg) t.I e.R = <Mu s.F t.I e.Arg> <Each s.F (e.Arg) e.R>; |
|||
}; |
|||
Show { |
|||
(e.Word) e.Blocks = <Prout e.Word ': ' <CanMakeWord (e.Word) e.Blocks>>; |
|||
}; |
|||
Blocks { |
|||
= ('BO') ('XK') ('DQ') ('CP') ('NA') |
|||
('GT') ('RE') ('TG') ('QD') ('FS') |
|||
('JW') ('HU') ('VI') ('AN') ('OB') |
|||
('ER') ('FS') ('LY') ('PC') ('ZM'); |
|||
}; |
|||
Words { |
|||
= ('A') ('BARK') ('BOOK') ('TREAT') |
|||
('common') ('squad') ('CoNfUsE'); |
|||
}; |
|||
CanMakeWord { |
|||
(e.Word) e.Blocks = <CanMakeWord1 (<Upper e.Word>) e.Blocks>; |
|||
} |
|||
CanMakeWord1 { |
|||
() e.Blocks = T; |
|||
(s.Ltr e.Word) e.Blocks1 (e.X s.Ltr e.Y) e.Blocks2 |
|||
= <CanMakeWord1 (e.Word) e.Blocks1 e.Blocks2>; |
|||
(e.Word) e.Blocks = F; |
|||
};</syntaxhighlight> |
|||
{{out}} |
|||
<pre>A: T |
|||
BARK: T |
|||
BOOK: F |
|||
TREAT: T |
|||
common: F |
|||
squad: T |
|||
CoNfUsE: T</pre> |
|||
=={{header|REXX}}== |
=={{header|REXX}}== |