Wordle comparison: Difference between revisions
Content deleted Content added
Line 189: | Line 189: | ||
ROBIN v SONIC => [0, 2, 1, 2, 0] => ["grey", "green", "yellow", "green", "grey"] |
ROBIN v SONIC => [0, 2, 1, 2, 0] => ["grey", "green", "yellow", "green", "grey"] |
||
ROBIN v ROBIN => [2, 2, 2, 2, 2] => ["green", "green", "green", "green", "green"] |
ROBIN v ROBIN => [2, 2, 2, 2, 2] => ["green", "green", "green", "green", "green"] |
||
</pre> |
|||
=={{header|Perl}}== |
|||
<lang perl>#!/usr/bin/perl |
|||
use strict; # https://rosettacode.org/wiki/Wordle_comparison |
|||
use warnings; |
|||
for my $test ( ["ALLOW", "LOLLY"], ["BULLY", "LOLLY"], ["ROBIN", "ALERT"], |
|||
["ROBIN", "SONIC"], ["ROBIN", "ROBIN"]) |
|||
{ |
|||
local $_ = join "\n", @$test; |
|||
1 while s/([ -~])(.*\n(??{$` =~ tr!!.!cr}))\1/\0$2\0/; |
|||
1 while s/([ -~])(.*\n.*?)\1/\01$2\01/; |
|||
print "@$test => @{[ qw( green yellow grey ) |
|||
[map ord, split //, s/.*\n//r =~ tr/\0\1/\2/cr] ]}\n"; |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
ALLOW LOLLY => yellow yellow green grey grey |
|||
BULLY LOLLY => grey grey green green green |
|||
ROBIN ALERT => grey grey grey yellow grey |
|||
ROBIN SONIC => grey green yellow green grey |
|||
ROBIN ROBIN => green green green green green |
|||
</pre> |
</pre> |
||