X7ROOT File Manager
Current Path:
/opt/alt/ruby27/share/ruby
opt
/
alt
/
ruby27
/
share
/
ruby
/
ðŸ“
..
📄
English.rb
(6.11 KB)
📄
abbrev.rb
(3.45 KB)
📄
base64.rb
(3.3 KB)
ðŸ“
benchmark
📄
benchmark.rb
(18.02 KB)
ðŸ“
bigdecimal
📄
bigdecimal.rb
(24 B)
ðŸ“
cgi
📄
cgi.rb
(9.8 KB)
📄
coverage.rb
(368 B)
ðŸ“
csv
📄
csv.rb
(54.34 KB)
📄
date.rb
(1.04 KB)
📄
debug.rb
(29.91 KB)
ðŸ“
delegate
📄
delegate.rb
(11.08 KB)
ðŸ“
did_you_mean
📄
did_you_mean.rb
(3.72 KB)
ðŸ“
digest
📄
digest.rb
(2.83 KB)
ðŸ“
drb
📄
drb.rb
(50 B)
📄
erb.rb
(28.81 KB)
📄
expect.rb
(2.17 KB)
ðŸ“
fiddle
📄
fiddle.rb
(1.68 KB)
📄
fileutils.rb
(48.06 KB)
📄
find.rb
(2.47 KB)
ðŸ“
forwardable
📄
forwardable.rb
(8.92 KB)
ðŸ“
getoptlong
📄
getoptlong.rb
(15.42 KB)
ðŸ“
io
📄
ipaddr.rb
(19.52 KB)
ðŸ“
irb
📄
irb.rb
(26.96 KB)
ðŸ“
json
📄
json.rb
(1.77 KB)
📄
kconv.rb
(5.72 KB)
ðŸ“
logger
📄
logger.rb
(16.4 KB)
ðŸ“
matrix
📄
matrix.rb
(60.26 KB)
📄
mkmf.rb
(86.46 KB)
📄
monitor.rb
(6.76 KB)
📄
mutex_m.rb
(2.16 KB)
ðŸ“
net
ðŸ“
observer
📄
observer.rb
(5.83 KB)
📄
open-uri.rb
(25.48 KB)
ðŸ“
open3
📄
open3.rb
(21.81 KB)
ðŸ“
openssl
📄
openssl.rb
(469 B)
📄
optionparser.rb
(59 B)
ðŸ“
optparse
📄
optparse.rb
(59.49 KB)
ðŸ“
ostruct
📄
ostruct.rb
(10.53 KB)
📄
pathname.rb
(16.17 KB)
📄
pp.rb
(15.6 KB)
📄
prettyprint.rb
(15.89 KB)
📄
prime.rb
(12.37 KB)
ðŸ“
pstore
📄
pstore.rb
(14.71 KB)
ðŸ“
psych
📄
psych.rb
(21.21 KB)
ðŸ“
racc
📄
racc.rb
(137 B)
📄
readline.rb
(113 B)
ðŸ“
reline
📄
reline.rb
(12.94 KB)
📄
resolv-replace.rb
(1.76 KB)
📄
resolv.rb
(73.56 KB)
ðŸ“
rexml
ðŸ“
rinda
ðŸ“
ripper
📄
ripper.rb
(2.44 KB)
ðŸ“
rss
📄
rss.rb
(2.89 KB)
📄
securerandom.rb
(9.3 KB)
📄
set.rb
(24.04 KB)
📄
shellwords.rb
(6.66 KB)
ðŸ“
singleton
📄
singleton.rb
(4.06 KB)
📄
socket.rb
(43.65 KB)
ðŸ“
syslog
📄
tempfile.rb
(10.95 KB)
📄
time.rb
(24.01 KB)
ðŸ“
timeout
📄
timeout.rb
(3.98 KB)
📄
tmpdir.rb
(4.04 KB)
ðŸ“
tracer
📄
tracer.rb
(6.48 KB)
📄
tsort.rb
(14.3 KB)
📄
un.rb
(9.96 KB)
ðŸ“
unicode_normalize
ðŸ“
uri
📄
uri.rb
(2.97 KB)
ðŸ“
vendor_ruby
📄
weakref.rb
(1.44 KB)
ðŸ“
webrick
📄
webrick.rb
(6.73 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