langs a-z

This commit is contained in:
Ingy döt Net 2013-04-10 22:43:41 -07:00
parent db842d013d
commit d066446780
11389 changed files with 98361 additions and 1020 deletions

View file

@ -0,0 +1,13 @@
constant target = "METHINKS IT IS LIKE A WEASEL";
constant mutate_chance = .08;
constant alphabet = 'A'..'Z',' ';
constant C = 100;
sub mutate { $^string.comb.map({ rand < mutate_chance ?? alphabet.pick !! $_ }).join }
sub fitness { [+] $^string.comb Zeq target.comb }
loop (
my $parent = alphabet.roll(target.chars).join;
$parent ne target;
$parent = max :by(&fitness), mutate($parent) xx C
) { printf "%6d: '%s' %2d\n", (state $)++, $parent, fitness $parent }