Game::WordBrain::Prefix - Creates a Cache of Valid Word Prefixes
# Create new Prefix Cache my $prefix = Game::WordBrain::Prefix->new({ max_prefix_length => 5, # Optional word_list => '/path/to/wordlist', # Optional }); # Test if a string could be the start of a word my $start_of_word = 'fla'; if( $prefix->is_start_of_word( $start_of_word ) ) { print "Could be a word..."; } else { print "Nope, no way this is going to be a word."; }
Game::WordBrain::Prefix is the largest speedup afforded to the Game::WordBrain->solve method. It works by reading in a wordlist and using it to construct a hash of valid word prefixes. As an example, let's take the word "flag"
{ 'f' => 1, 'fl' => 1, 'fla' => 1, 'flag' => 1, }
By creating this Game::WordBrain is able to check if the current path being walked ( collection of Game::WordBrain::Letters ) could possibly ever be a real word. By leverage the fact that, for example, no word in the english language starts with 'flaga' we can short circuit and abandon a path that will not lead to a solution sa fast as possible.
The length of the prefixes to build. This should equal the max Game::WordBrain::WordToFind->{num_letters}. If not provided, it defaults to 8.
Keep in mind, the larger this value the longer the spin up time needed in order to run the solver.
Path to a new line delimited word_list. If not provided, the wordlist provided with this distrubtion will be used.
my $prefix = Game::WordBrain::Prefix->new({ max_prefix_length => 5, # Optional word_list => '/path/to/wordlist', # Optional });
If the max_prefix length is not specified it will default to 8. If no word_list is specified then the bundled wordlist will be used.
Returns an instance of Game::WordBrain::Prefix
my $prefix = Game::WordBrain::Prefix->...; my $start_of_word = 'fla'; if( $prefix->is_start_of_word( $start_of_word ) ) { print "Could be a word..."; } else { print "Nope, no way this is going to be a word."; }
Given a string, will check to seeif there are any words in the provided word_list that start with this string. If there are ( meaning this could become a real word at some point ) a truthy value is returned. If not, a falsey value is returned.
To install Game::WordBrain, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Game::WordBrain
CPAN shell
perl -MCPAN -e shell install Game::WordBrain
For more information on module installation, please visit the detailed CPAN module installation guide.