X7ROOT File Manager
Current Path:
/opt/alt/ruby31/share/ruby
opt
/
alt
/
ruby31
/
share
/
ruby
/
ðŸ“
..
📄
English.rb
(6.11 KB)
📄
abbrev.rb
(3.45 KB)
📄
base64.rb
(3.35 KB)
ðŸ“
benchmark
📄
benchmark.rb
(18.4 KB)
ðŸ“
bigdecimal
📄
bigdecimal.rb
(24 B)
ðŸ“
cgi
📄
cgi.rb
(9.83 KB)
📄
coverage.rb
(368 B)
ðŸ“
csv
📄
csv.rb
(92.41 KB)
📄
date.rb
(1.1 KB)
📄
delegate.rb
(11.68 KB)
ðŸ“
did_you_mean
📄
did_you_mean.rb
(5.31 KB)
ðŸ“
digest
📄
digest.rb
(3.3 KB)
ðŸ“
drb
📄
drb.rb
(50 B)
ðŸ“
erb
📄
erb.rb
(28.74 KB)
ðŸ“
error_highlight
📄
error_highlight.rb
(84 B)
📄
expect.rb
(2.17 KB)
ðŸ“
fiddle
📄
fiddle.rb
(2.11 KB)
📄
fileutils.rb
(47.74 KB)
📄
find.rb
(2.5 KB)
ðŸ“
forwardable
📄
forwardable.rb
(8.98 KB)
📄
getoptlong.rb
(15.46 KB)
ðŸ“
io
📄
ipaddr.rb
(20.58 KB)
ðŸ“
json
📄
json.rb
(19.29 KB)
📄
kconv.rb
(5.72 KB)
ðŸ“
logger
📄
logger.rb
(16.54 KB)
📄
mkmf.rb
(88.12 KB)
📄
monitor.rb
(6.76 KB)
📄
mutex_m.rb
(2.33 KB)
ðŸ“
net
ðŸ“
objspace
📄
objspace.rb
(2.66 KB)
📄
observer.rb
(6.38 KB)
📄
open-uri.rb
(24.88 KB)
ðŸ“
open3
📄
open3.rb
(22.11 KB)
ðŸ“
openssl
📄
openssl.rb
(1.03 KB)
📄
optionparser.rb
(59 B)
ðŸ“
optparse
📄
optparse.rb
(58.82 KB)
📄
ostruct.rb
(13.78 KB)
📄
pathname.rb
(16.47 KB)
📄
pp.rb
(16.69 KB)
📄
prettyprint.rb
(15.9 KB)
📄
pstore.rb
(14.73 KB)
ðŸ“
psych
📄
psych.rb
(24.61 KB)
ðŸ“
racc
📄
racc.rb
(137 B)
ðŸ“
random
📄
readline.rb
(189 B)
ðŸ“
reline
📄
reline.rb
(17.67 KB)
📄
resolv-replace.rb
(1.76 KB)
📄
resolv.rb
(74.18 KB)
ðŸ“
rinda
ðŸ“
ripper
📄
ripper.rb
(2.44 KB)
📄
securerandom.rb
(2.06 KB)
ðŸ“
set
📄
set.rb
(25.43 KB)
📄
shellwords.rb
(7.09 KB)
📄
singleton.rb
(4.08 KB)
📄
socket.rb
(43.65 KB)
ðŸ“
syslog
📄
tempfile.rb
(12.43 KB)
📄
time.rb
(23.72 KB)
📄
timeout.rb
(4.07 KB)
📄
tmpdir.rb
(4.44 KB)
📄
tsort.rb
(14.3 KB)
📄
un.rb
(11.06 KB)
ðŸ“
unicode_normalize
ðŸ“
uri
📄
uri.rb
(3.06 KB)
ðŸ“
vendor_ruby
📄
weakref.rb
(1.46 KB)
ðŸ“
yaml
📄
yaml.rb
(1.8 KB)
Editing: abbrev.rb
# frozen_string_literal: true #-- # Copyright (c) 2001,2003 Akinori MUSHA <knu@iDaemons.org> # # All rights reserved. You can redistribute and/or modify it under # the same terms as Ruby. # # $Idaemons: /home/cvs/rb/abbrev.rb,v 1.2 2001/05/30 09:37:45 knu Exp $ # $RoughId: abbrev.rb,v 1.4 2003/10/14 19:45:42 knu Exp $ # $Id$ #++ ## # 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 abbrev(words, pattern = nil) table = {} seen = Hash.new(0) if pattern.is_a?(String) pattern = /\A#{Regexp.quote(pattern)}/ # regard as a prefix end words.each do |word| next if word.empty? word.size.downto(1) { |len| abbrev = word[0...len] next if pattern && pattern !~ abbrev case seen[abbrev] += 1 when 1 table[abbrev] = word when 2 table.delete(abbrev) else break end } end words.each do |word| next if pattern && pattern !~ word table[word] = word end table end module_function :abbrev end class Array # Calculates the set of unambiguous abbreviations for the strings in +self+. # # require 'abbrev' # %w{ car cone }.abbrev # #=> {"car"=>"car", "ca"=>"car", "cone"=>"cone", "con"=>"cone", "co"=>"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. # # %w{ fast boat day }.abbrev(/^.a/) # #=> {"fast"=>"fast", "fas"=>"fast", "fa"=>"fast", "day"=>"day", "da"=>"day"} # # Abbrev.abbrev(%w{car box cone}, "ca") # #=> {"car"=>"car", "ca"=>"car"} # # See also Abbrev.abbrev def abbrev(pattern = nil) Abbrev::abbrev(self, pattern) end end
Upload File
Create Folder