raspell
An interface binding for Aspell.
License
Copyright 2007 Cloudburst, LLC. Portions copyright 2005 Matthias Veit, Biro Eszter. Used with permission. Licensed under the GPL 2.0. See included LICENSE file.
Requirements
-
Aspell version 0.6 (www.aspell.net)
Basic usage
Aspell lets you check
words and suggest
corrections. For example:
require 'rubygems'
require 'raspell'
speller = Aspell.new("en_US")
speller.suggestion_mode = Aspell::NORMAL
string = "my haert wil go on"
string.gsub(/[\w\']+/) do |word|
if !speller.check(word)
# word is wrong
puts "Possible correction for #{word}:"
puts speller.suggest(word).first
end
end
This outputs:
Possible correction for haert:
heart
Possible correction for wil:
Will
Note that suggest
returns an array of suggestions even for words that are correctly spelled.
Options
The most useful options are suggestion_mode
, and the passthrough option ignore_case
. Passthrough options have to be set as so:
speller.set_option("ignore-case", "true")
See aspell.net/man-html/The-Options.html for a list of the passthrough options.