Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more
# File irb/locale.rb, line 25
def initialize(locale = nil)
@lang = @territory = @encoding_name = @modifier = nil
@locale = locale || ENV["IRB_LANG"] || ENV["LC_MESSAGES"] || ENV["LC_ALL"] || ENV["LANG"] || "C"
if m = LOCALE_NAME_RE.match(@locale)
@lang, @territory, @encoding_name, @modifier = m[:language], m[:territory], m[:codeset], m[:modifier]
if @encoding_name
begin load 'irb/encoding_aliases.rb'; rescue LoadError; end
if @encoding = @@legacy_encoding_alias_map[@encoding_name]
warn "%s is obsolete. use %s" % ["#{@lang}_#{@territory}.#{@encoding_name}", "#{@lang}_#{@territory}.#{@encoding.name}"]
end
@encoding = Encoding.find(@encoding_name) rescue nil
end
end
@encoding ||= (Encoding.find('locale') rescue Encoding::ASCII_8BIT)
end
# File irb/locale.rb, line 44
def String(mes)
mes = super(mes)
if @encoding
mes.encode(@encoding, undef: :replace)
else
mes
end
end
# File irb/locale.rb, line 116
def find(file , paths = $:)
dir = File.dirname(file)
dir = "" if dir == "."
base = File.basename(file)
if dir.start_with?('/')
return each_localized_path(dir, base).find{|full_path| File.readable? full_path}
else
return search_file(paths, dir, base)
end
end
# File irb/locale.rb, line 53
def format(*opts)
String(super(*opts))
end
# File irb/locale.rb, line 107
def load(file, priv=nil)
found = find(file)
if found
return real_load(found, priv)
else
raise LoadError, "No such file to load -- #{file}"
end
end
# File irb/locale.rb, line 65
def print(*opts)
ary = opts.collect{|opt| String(opt)}
super(*ary)
end
# File irb/locale.rb, line 70
def printf(*opts)
s = format(*opts)
print s
end
# File irb/locale.rb, line 75
def puts(*opts)
ary = opts.collect{|opt| String(opt)}
super(*ary)
end
# File irb/locale.rb, line 61
def readline(*rs)
String(super(*rs))
end
# File irb/locale.rb, line 80
def require(file, priv = nil)
rex = Regexp.new("lc/#{Regexp.quote(file)}\.(so|o|sl|rb)?")
return false if $".find{|f| f =~ rex}
case file
when /\.rb$/
begin
load(file, priv)
$".push file
return true
rescue LoadError
end
when /\.(so|o|sl)$/
return super
end
begin
load(f = file + ".rb")
$".push f #"
return true
rescue LoadError
return ruby_require(file)
end
end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.