Anadromes: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) (New draft task and a Raku example) |
Thundergnat (talk | contribs) m (Better link) |
||
Line 11: | Line 11: | ||
;Task |
;Task |
||
Using the [https://github.com/dwyl/english-words/words.txt words.txt] file from [https://github.com/dwyl/english-words https://github.com/dwyl/english-words], find and display all of the anadrome pairs with more than 6 characters. |
Using the [https://github.com/dwyl/english-words/blob/master/words.txt words.txt] file from [https://github.com/dwyl/english-words https://github.com/dwyl/english-words], find and display all of the anadrome pairs with more than 6 characters. |
||
Each word pair should only show up one time in the list. |
Each word pair should only show up one time in the list. |
Revision as of 22:11, 23 June 2022
Anadromes is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
An anadrome is similar to a palindrome except, rather than spelling the same word or phrase when reversed, it spells a different word or phrase. An anadrome is a special case of an anagram.
Anadrome is a portmanteau of the words anagram and palindrome.
For instance, regal and lager are anadromes.
- Task
Using the words.txt file from https://github.com/dwyl/english-words, find and display all of the anadrome pairs with more than 6 characters.
Each word pair should only show up one time in the list.
Raku
<lang perl6>my @words = 'words.txt'.IO.slurp.words.grep: *.chars > 6;
my %words = @words.pairs.invert;
put join "\n", @words.map: { %words{$_}:delete and sprintf "%10s ↔ %s", $_, .flip if ($_ ne .flip) && %words{.flip} }</lang>
- Output:
amaroid ↔ diorama degener ↔ reneged deifier ↔ reified deliver ↔ reviled dessert ↔ tressed desserts ↔ stressed deviler ↔ relived dioramas ↔ samaroid gateman ↔ nametag leveler ↔ relevel pat-pat ↔ tap-tap redrawer ↔ rewarder reknits ↔ stinker relever ↔ reveler reliver ↔ reviler revotes ↔ setover sallets ↔ stellas