HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/gems/ruby-3.0.2@global/gems/rbs-1.0.4/stdlib/abbrev/0/abbrev.rbs
# Calculates the set of unambiguous abbreviations for a given set of strings.
#
#     require 'abbrev'
#     require 'pp'
#
#     pp Abbrev.abbrev(['ruby'])
#     #=>  {"ruby"=>"ruby", "rub"=>"ruby", "ru"=>"ruby", "r"=>"ruby"}
#
#     pp Abbrev.abbrev(%w{ ruby rules })
#
# *Generates:*
#     { "ruby"  =>  "ruby",
#       "rub"   =>  "ruby",
#       "rules" =>  "rules",
#       "rule"  =>  "rules",
#       "rul"   =>  "rules" }
#
# It also provides an array core extension, Array#abbrev.
#
#     pp %w{ summer winter }.abbrev
#
# *Generates:*
#     { "summer"  => "summer",
#       "summe"   => "summer",
#       "summ"    => "summer",
#       "sum"     => "summer",
#       "su"      => "summer",
#       "s"       => "summer",
#       "winter"  => "winter",
#       "winte"   => "winter",
#       "wint"    => "winter",
#       "win"     => "winter",
#       "wi"      => "winter",
#       "w"       => "winter" }
#
module Abbrev
  # Given a set of strings, calculate the set of unambiguous abbreviations for
  # those strings, and return a hash where the keys are all the possible
  # abbreviations and the values are the full strings.
  #
  # Thus, given `words` is "car" and "cone", the keys pointing to "car" would be
  # "ca" and "car", while those pointing to "cone" would be "co", "con", and
  # "cone".
  #
  #     require 'abbrev'
  #
  #     Abbrev.abbrev(%w{ car cone })
  #     #=> {"ca"=>"car", "con"=>"cone", "co"=>"cone", "car"=>"car", "cone"=>"cone"}
  #
  # The optional `pattern` parameter is a pattern or a string. Only input strings
  # that match the pattern or start with the string are included in the output
  # hash.
  #
  #     Abbrev.abbrev(%w{car box cone crab}, /b/)
  #     #=> {"box"=>"box", "bo"=>"box", "b"=>"box", "crab" => "crab"}
  #
  #     Abbrev.abbrev(%w{car box cone}, 'ca')
  #     #=> {"car"=>"car", "ca"=>"car"}
  def self?.abbrev: (Array[String], ?String | Regexp | nil) -> Hash[String, String]
end