Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > abbrevライブラリ > Abbrevモジュール
クラスの継承リスト: Abbrev
与えられた文字列の短縮形を生成するモジュールです。
require 'abbrev'
require 'pp'
pp Abbrev.abbrev(%w[ruby rules]).sort
# => [["rub", "ruby"],
# ["ruby", "ruby"],
# ["rul", "rules"],
# ["rule", "rules"],
# ["rules", "rules"]]
abbrev(words, pattern = nil) -> Hash[permalink][rdoc]文字列の配列から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。
第二引数に正規表現を指定すると、words のうちそのパターンにマッチしたものから短縮形を計算します。 第二引数に文字列を指定すると、words のうちその文字列で始まるものから短縮形を計算します。
require 'abbrev'
# words に同じ文字列が含まれている場合は
# 以下のようにその文字列しか返しません。
pp Abbrev.abbrev(%w[ruby ruby]).sort
# => [["ruby", "ruby"]]
# 空白が含まれていても適切に処理します。
pp Abbrev.abbrev(['ru by']).sort
# => [["r", "ru by"],
# ["ru", "ru by"],
# ["ru ", "ru by"],
# ["ru b", "ru by"],
# ["ru by", "ru by"]]
# sort していない例
p %w[ruby rubyist].abbrev
#=> {"ruby" => "ruby",
# "rubyi" => "rubyist",
# "rubyis" => "rubyist",
# "rubyist" => "rubyist"}