In Files

  • irb/lc/ja/encoding_aliases.rb
  • irb/locale.rb

IRB::Locale

Attributes

encoding[R]
lang[R]
modifieer[R]
territory[R]

Public Class Methods

new(locale = nil) click to toggle source
 
               # 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
            

Public Instance Methods

String(mes) click to toggle source
 
               # File irb/locale.rb, line 44
def String(mes)
  mes = super(mes)
  if @encoding
    mes.encode(@encoding, undef: :replace)
  else
    mes
  end
end
            
find(file , paths = $:) click to toggle source
 
               # 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
            
format(*opts) click to toggle source
 
               # File irb/locale.rb, line 53
def format(*opts)
  String(super(*opts))
end
            
gets(*rs) click to toggle source
 
               # File irb/locale.rb, line 57
def gets(*rs)
  String(super(*rs))
end
            
load(file, priv=nil) click to toggle source
 
               # 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
            
Also aliased as: toplevel_load
printf(*opts) click to toggle source
 
               # File irb/locale.rb, line 70
def printf(*opts)
  s = format(*opts)
  print s
end
            
puts(*opts) click to toggle source
 
               # File irb/locale.rb, line 75
def puts(*opts)
  ary = opts.collect{|opt| String(opt)}
  super(*ary)
end
            
readline(*rs) click to toggle source
 
               # File irb/locale.rb, line 61
def readline(*rs)
  String(super(*rs))
end
            
require(file, priv = nil) click to toggle source
 
               # 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
            
toplevel_load(file, priv=nil) click to toggle source
Alias for: load

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.

blog comments powered by Disqus