MyNixOS website logo
Description

Crossword, Scrabble and Anagram Solver.

Provides a large English words list and tools to find words by patterns. In particular, anagram finder and scrabble word finder.

wfindr

Build Status

Crossword, scrabble and anagram solver

This package provides a large English words list and tools to find words by patterns. In particular, anagram finder and scrabble word finder.

How to install

devtools::install_github("idmn/wfindr")

How to use

Describe a pattern that a word should match by marking unknown letters.

  • Unknown letter is denoted by dot ".".
  • Dot may be followed by regex {...} repetition quantifier. Namely, .{n} means exactly n unknown letters, .{n,} - n or more, .{n, m} - from n to m.
  • Asterisk * denotes unknown number of unknown letters.

Then pass this pattern to a find_word function. Examples:

#> words starting with "aa"
find_word("aa*")
#> 4-letter words stating with "w" and ending with "d"
find_word("w..d")
#> 30 or more letter words
find_word(".{30,}")

You can also specify letters that you don't want to be used to fill the gaps with ban argument.

find_word("w..d", ban = "oe")

Or you can determine the list of letters to be used with allow argument.

find_word("w..d", allow = "oe")

Scrabble solver

To find words that can be constructed from the specified set of letters, use scrabble function

#> words constructed from the "thing" word's letters
scrabble("thing")

This function is actually built on top of the find_word function. To give you an idea, the previous call is equivalent to this:

find_word(allow = "thing", type = "scrabble")

It is also possible to specify a pattern in scrabble, as it was in find_word. For, example, to get at least 4-letter words:

scrabble("thing", ".{4,}")

Anagram solver

To find anagrams, use anagram function.

anagram("thing")

This function is also built on top of find_word and the previous call is equivalent to

find_word(allow = "thing", type = "anagram")
Metadata

Version

0.1.0

License

Unknown

Platforms (75)

    Darwin
    FreeBSD 13
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd13
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd13
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows