Skip to contents

Given and input and a word, validate each letter based on Wordle's rules: correct letter in correct placement (green), correct letter in wrong placement (yellow), letter is not present (red).

Usage

wordle_check(
  input,
  word,
  dictionary = NULL,
  lang_dic = "en",
  method = 3,
  print = TRUE
)

# S3 method for wordle_check
print(x, print = TRUE, ...)

wordle_dictionary(lang_dic = "en", method = 3, quiet = TRUE)

wordle_simulation(input, word, seed = NULL, quiet = FALSE, ...)

# S3 method for wordle_simulation
print(x, type = 1, ...)

Arguments

input

Character. Word to validate (5-letters)

word

Character. Word actually answer (5-letters).

dictionary

Character vector. List of valid words. If set to NULL then will use modified scrabble_dictionary() to fetch 5 letter words. Use lang_dic param to set language.

lang_dic

Character. Any of: "en", "es". Only used when dictionary parameter is NULL. Requires internet connection the first time. Uses cache.

method

Integer. 1 for scrabble_dictionary(), 3 for scrapping NYTimes set of words.

print

Boolean. Print validation results?

x

Object to print

...

Additional parameters to pass.

quiet

Boolean. Do not print words as they are being searched.

seed

Numeric. For reproducibility. Accepts more than one: will run as many seeds there are.

type

Integer. 1 for summary and 2 for coloured results.

Value

Invisible vector with results by letter.

Examples

word <- "ABBEY"
# Or pick a random one:
# word <- sample(wordle_dictionary("en"), 1)
wordle_check("OPENS", word)
#> O P E N S
wordle_check("BABES", word)
#> B A B E S
wordle_check("KEBAB", word, print = FALSE)
wordle_check("ABYSS", word)
#> A B Y S S
wordle_check("ABBEY", word)
#> A B B E Y
# Feel free to use scrabble_words() for hints

x <- wordle_simulation(input = "SAINT", word = "ABBEY", seed = 1:3)
#> S A I N T reduced from 12,951 to 793
#> 
#> O R E A D reduced from 793 to 175
#> 
#> K E H U A reduced from 175 to 46
#> 
#> B L A F F reduced from 46 to 5
#> 
#> A Z Y M E reduced from 5 to 1
#> 
#> A B B E Y reduced from 1 to 1
#> 
#> >> Iterations (seed = 1): 6
#> S A I N T
#> P U C K A reduced from 793 to 323
#> 
#> H O D A D reduced from 323 to 92
#> 
#> A G A Z E reduced from 92 to 12
#> 
#> A M E E R reduced from 12 to 3
#> 
#> A B B E Y reduced from 3 to 1
#> 
#> >> Iterations (seed = 2): 6
#> S A I N T
#> W H E A L reduced from 793 to 244
#> 
#> G R A P Y reduced from 244 to 2
#> 
#> A C C O Y reduced from 2 to 1
#> 
#> A B B E Y reduced from 1 to 1
#> 
#> >> Iterations (seed = 3): 5
#> Elapsed time: 1.23s
print(x)
#> Seed Word: SAINT
#> Objective Word: ABBEY
#> Iterations: 3
#>   Mean to succeed: 5.67
#>   Max to succeed: 6 [seed = 1]
# hist(sapply(x, function(x) x$iters))