Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more

In Files

  • tk/lib/tk/canvas.rb
  • tk/lib/tkextlib/blt/eps.rb

Class/Module Index [+]

Quicksearch

Tk::Canvas

Public Instance Methods

__BLT_EPS_item_boolval_optkeys(id) click to toggle source
__BLT_EPS_item_strval_optkeys(id) click to toggle source
__destroy_hook__() click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 53
def __destroy_hook__
  TkcItem::CItemID_TBL.delete(@path)
end
            
addtag(tag, mode, *args) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 98
def addtag(tag, mode, *args)
  mode = mode.to_s
  if args[0] && mode =~ /^(above|below|with(tag)?)$/
    args[0] = tagid(args[0])
  end
  tk_send_without_enc('addtag', tagid(tag), mode, *args)
  self
end
            
addtag_above(tagOrId, target) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 106
def addtag_above(tagOrId, target)
  addtag(tagOrId, 'above', tagid(target))
end
            
addtag_all(tagOrId) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 109
def addtag_all(tagOrId)
  addtag(tagOrId, 'all')
end
            
addtag_below(tagOrId, target) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 112
def addtag_below(tagOrId, target)
  addtag(tagOrId, 'below', tagid(target))
end
            
addtag_closest(tagOrId, x, y, halo=None, start=None) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 115
def addtag_closest(tagOrId, x, y, halo=None, start=None)
  addtag(tagOrId, 'closest', x, y, halo, start)
end
            
addtag_enclosed(tagOrId, x1, y1, x2, y2) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 118
def addtag_enclosed(tagOrId, x1, y1, x2, y2)
  addtag(tagOrId, 'enclosed', x1, y1, x2, y2)
end
            
addtag_overlapping(tagOrId, x1, y1, x2, y2) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 121
def addtag_overlapping(tagOrId, x1, y1, x2, y2)
  addtag(tagOrId, 'overlapping', x1, y1, x2, y2)
end
            
addtag_withtag(tagOrId, tag) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 124
def addtag_withtag(tagOrId, tag)
  addtag(tagOrId, 'withtag', tagid(tag))
end
            
bbox(tagOrId, *tags) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 128
def bbox(tagOrId, *tags)
  list(tk_send_without_enc('bbox', tagid(tagOrId),
                           *tags.collect{|t| tagid(t)}))
end
            
canvas_x(screen_x, *args) click to toggle source
Alias for: canvasx
canvas_y(screen_y, *args) click to toggle source
Alias for: canvasy
canvasx(screen_x, *args) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 172
def canvasx(screen_x, *args)
  #tk_tcl2ruby(tk_send_without_enc('canvasx', screen_x, *args))
  number(tk_send_without_enc('canvasx', screen_x, *args))
end
            
Also aliased as: canvas_x
canvasy(screen_y, *args) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 176
def canvasy(screen_y, *args)
  #tk_tcl2ruby(tk_send_without_enc('canvasy', screen_y, *args))
  number(tk_send_without_enc('canvasy', screen_y, *args))
end
            
Also aliased as: canvas_y
coords(tag, *args) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 183
def coords(tag, *args)
  if args.empty?
    tk_split_list(tk_send_without_enc('coords', tagid(tag)))
  else
    tk_send_without_enc('coords', tagid(tag), *(args.flatten))
    self
  end
end
            
create(type, *args) click to toggle source

create a canvas item without creating a TkcItem object

 
               # File tk/lib/tk/canvas.rb, line 87
def create(type, *args)
  if type.kind_of?(Class) && type < TkcItem
    # do nothing
  elsif TkcItem.type2class(type.to_s)
    type = TkcItem.type2class(type.to_s)
  else
    fail ArgumentError, "type must a subclass of TkcItem class, or a string in CItemTypeToClass"
  end
  type.create(self, *args)
end
            
create_itemobj_from_id(idnum) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 613
def create_itemobj_from_id(idnum)
  id = TkcItem.id2obj(self, idnum.to_i)
  return id if id.kind_of?(TkcItem)

  typename = tk_send('type', id)
  unless type = TkcItem.type2class(typename)
    (itemclass = typename.dup)[0,1] = typename[0,1].upcase
    type = TkcItem.const_set(itemclass, Class.new(TkcItem))
    type.const_set("CItemTypeName", typename.freeze)
    TkcItem::CItemTypeToClass[typename] = type
  end

  canvas = self
  (obj = type.allocate).instance_eval{
    @parent = @c = canvas
    @path = canvas.path
    @id = id
    TkcItem::CItemID_TBL.mutex.synchronize{
      TkcItem::CItemID_TBL[@path] = {} unless TkcItem::CItemID_TBL[@path]
      TkcItem::CItemID_TBL[@path][@id] = self
    }
  }
end
            
dchars(tag, first, last=None) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 192
def dchars(tag, first, last=None)
  tk_send_without_enc('dchars', tagid(tag),
                      _get_eval_enc_str(first), _get_eval_enc_str(last))
  self
end
            
delete(*args) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 198
def delete(*args)
  tbl = nil
  TkcItem::CItemID_TBL.mutex.synchronize{
    tbl = TkcItem::CItemID_TBL[self.path]
  }
  if tbl
    args.each{|tag|
      find('withtag', tag).each{|item|
        if item.kind_of?(TkcItem)
          TkcItem::CItemID_TBL.mutex.synchronize{
            tbl.delete(item.id)
          }
        end
      }
    }
  end
  tk_send_without_enc('delete', *args.collect{|t| tagid(t)})
  self
end
            
Also aliased as: remove
deltag(tag, tag_to_del=None) click to toggle source
Alias for: dtag
dtag(tag, tag_to_del=None) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 219
def dtag(tag, tag_to_del=None)
  tk_send_without_enc('dtag', tagid(tag), tagid(tag_to_del))
  self
end
            
Also aliased as: deltag
find(mode, *args) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 225
def find(mode, *args)
  list(tk_send_without_enc('find', mode, *args)).collect!{|id|
    TkcItem.id2obj(self, id)
  }
end
            
find_above(target) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 230
def find_above(target)
  find('above', tagid(target))
end
            
find_all() click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 233
def find_all
  find('all')
end
            
find_below(target) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 236
def find_below(target)
  find('below', tagid(target))
end
            
find_closest(x, y, halo=None, start=None) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 239
def find_closest(x, y, halo=None, start=None)
  find('closest', x, y, halo, start)
end
            
find_enclosed(x1, y1, x2, y2) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 242
def find_enclosed(x1, y1, x2, y2)
  find('enclosed', x1, y1, x2, y2)
end
            
find_overlapping(x1, y1, x2, y2) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 245
def find_overlapping(x1, y1, x2, y2)
  find('overlapping', x1, y1, x2, y2)
end
            
find_withtag(tag) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 248
def find_withtag(tag)
  find('withtag', tag)
end
            
gettags(tagOrId) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 266
def gettags(tagOrId)
  list(tk_send_without_enc('gettags', tagid(tagOrId))).collect{|tag|
    TkcTag.id2obj(self, tag)
  }
end
            
i_move(tagOrId, idx, x, y) click to toggle source
Alias for: imove
icursor(tagOrId, index) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 272
def icursor(tagOrId, index)
  tk_send_without_enc('icursor', tagid(tagOrId), index)
  self
end
            
imove(tagOrId, idx, x, y) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 277
def imove(tagOrId, idx, x, y)
  tk_send_without_enc('imove', tagid(tagOrId), idx, x, y)
  self
end
            
Also aliased as: i_move
index(tagOrId, idx) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 283
def index(tagOrId, idx)
  number(tk_send_without_enc('index', tagid(tagOrId), idx))
end
            
insert(tagOrId, index, string) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 287
def insert(tagOrId, index, string)
  tk_send_without_enc('insert', tagid(tagOrId), index,
                      _get_eval_enc_str(string))
  self
end
            
itembind(tag, context, *args) click to toggle source

def itembind(tag, context, cmd=Proc.new, *args)

_bind([path, "bind", tagid(tag)], context, cmd, *args)
self

end

 
               # File tk/lib/tk/canvas.rb, line 137
def itembind(tag, context, *args)
  # if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
  if TkComm._callback_entry?(args[0]) || !block_given?
    cmd = args.shift
  else
    cmd = Proc.new
  end
  _bind([path, "bind", tagid(tag)], context, cmd, *args)
  self
end
            
itembind_append(tag, context, *args) click to toggle source

def #itembind_append(tag, context, cmd=Proc.new, *args)

_bind_append([path, "bind", tagid(tag)], context, cmd, *args)
self

end

 
               # File tk/lib/tk/canvas.rb, line 152
def itembind_append(tag, context, *args)
  # if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
  if TkComm._callback_entry?(args[0]) || !block_given?
    cmd = args.shift
  else
    cmd = Proc.new
  end
  _bind_append([path, "bind", tagid(tag)], context, cmd, *args)
  self
end
            
itembind_remove(tag, context) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 163
def itembind_remove(tag, context)
  _bind_remove([path, "bind", tagid(tag)], context)
  self
end
            
itembindinfo(tag, context=nil) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 168
def itembindinfo(tag, context=nil)
  _bindinfo([path, "bind", tagid(tag)], context)
end
            
itemfocus(tagOrId=nil) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 252
def itemfocus(tagOrId=nil)
  if tagOrId
    tk_send_without_enc('focus', tagid(tagOrId))
    self
  else
    ret = tk_send_without_enc('focus')
    if ret == ""
      nil
    else
      TkcItem.id2obj(self, ret)
    end
  end
end
            
itemtype(tag) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 609
def itemtype(tag)
  TkcItem.type2class(tk_send('type', tagid(tag)))
end
            
lower(tag, below=nil) click to toggle source
def itemcget(tagOrId, option)
  case option.to_s
  when 'dash', 'activedash', 'disableddash'
    conf = tk_send_without_enc('itemcget', tagid(tagOrId), "-#{option}")
    if conf =~ /^[0-9]/
      list(conf)
    else
      conf
    end
  when 'text', 'label', 'show', 'data', 'file', 'maskdata', 'maskfile'
    _fromUTF8(tk_send_without_enc('itemcget', tagid(tagOrId), "-#{option}"))
  when 'font', 'kanjifont'
    #fnt = tk_tcl2ruby(tk_send('itemcget', tagid(tagOrId), "-#{option}"))
    fnt = tk_tcl2ruby(_fromUTF8(tk_send_with_enc('itemcget', tagid(tagOrId), '-font')))
    unless fnt.kind_of?(TkFont)
      fnt = tagfontobj(tagid(tagOrId), fnt)
    end
    if option.to_s == 'kanjifont' && JAPANIZED_TK && TK_VERSION =~ /^4\.*/
      # obsolete; just for compatibility
      fnt.kanji_font
    else
      fnt
    end
  else
    tk_tcl2ruby(_fromUTF8(tk_send_without_enc('itemcget', tagid(tagOrId),
                                              "-#{option}")))
  end
end

def itemconfigure(tagOrId, key, value=None)
  if key.kind_of? Hash
    key = _symbolkey2str(key)
    coords = key.delete('coords')
    self.coords(tagOrId, coords) if coords

    if ( key['font'] || key['kanjifont']          || key['latinfont'] || key['asciifont'] )
      tagfont_configure(tagid(tagOrId), key.dup)
    else
      _fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId),
                                    *hash_kv(key, true)))
    end

  else
    if ( key == 'coords' || key == :coords )
      self.coords(tagOrId, value)
    elsif ( key == 'font' || key == :font ||
            key == 'kanjifont' || key == :kanjifont ||
            key == 'latinfont' || key == :latinfont ||
            key == 'asciifont' || key == :asciifont )
      if value == None
        tagfontobj(tagid(tagOrId))
      else
        tagfont_configure(tagid(tagOrId), {key=>value})
      end
    else
      _fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId),
                                    "-#{key}", _get_eval_enc_str(value)))
    end
  end
  self
end

# def itemconfigure(tagOrId, key, value=None) # if key.kind_of? Hash # tk_send ‘itemconfigure’, tagid(tagOrId), *hash_kv(key) # else # tk_send ‘itemconfigure’, tagid(tagOrId), “-#{key}”, value # end # end # def itemconfigure(tagOrId, keys) # tk_send ‘itemconfigure’, tagid(tagOrId), *hash_kv(keys) # end

def itemconfiginfo(tagOrId, key=nil)
  if TkComm::GET_CONFIGINFO_AS_ARRAY
    if key
      case key.to_s
      when 'coords'
        return ['coords', '', '', '', self.coords(tagOrId)]
      when 'dash', 'activedash', 'disableddash'
        conf = tk_split_simplelist(tk_send_without_enc('itemconfigure', tagid(tagOrId), "-#{key}"))
        if conf[3] && conf[3] =~ /^[0-9]/
          conf[3] = list(conf[3])
        end
        if conf[4] && conf[4] =~ /^[0-9]/
          conf[4] = list(conf[4])
        end
      when 'text', 'label', 'show', 'data', 'file', 'maskdata', 'maskfile'
        conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId), "-#{key}")))
      when 'font', 'kanjifont'
        conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId),"-#{key}")))
        conf[4] = tagfont_configinfo(tagid(tagOrId), conf[4])
      else
        conf = tk_split_list(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId), "-#{key}")))
      end
      conf[0] = conf[0][1..-1]
      conf
    else
      ret = tk_split_simplelist(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId)))).collect{|conflist|
        conf = tk_split_simplelist(conflist)
        conf[0] = conf[0][1..-1]
        case conf[0]
        when 'text', 'label', 'show', 'data', 'file', 'maskdata', 'maskfile'
        when 'dash', 'activedash', 'disableddash'
          if conf[3] && conf[3] =~ /^[0-9]/
            conf[3] = list(conf[3])
          end
          if conf[4] && conf[4] =~ /^[0-9]/
            conf[4] = list(conf[4])
          end
        else
          if conf[3]
            if conf[3].index('{')
              conf[3] = tk_split_list(conf[3])
            else
              conf[3] = tk_tcl2ruby(conf[3])
            end
          end
          if conf[4]
            if conf[4].index('{')
              conf[4] = tk_split_list(conf[4])
            else
              conf[4] = tk_tcl2ruby(conf[4])
            end
          end
        end
        conf[1] = conf[1][1..-1] if conf.size == 2 # alias info
        conf
      }

      fontconf = ret.assoc('font')
      if fontconf
        ret.delete_if{|item| item[0] == 'font' || item[0] == 'kanjifont'}
        fontconf[4] = tagfont_configinfo(tagid(tagOrId), fontconf[4])
        ret.push(fontconf)
      end

      ret << ['coords', '', '', '', self.coords(tagOrId)]
    end
  else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
    if key
      case key.to_s
      when 'coords'
        {'coords' => ['', '', '', self.coords(tagOrId)]}
      when 'dash', 'activedash', 'disableddash'
        conf = tk_split_simplelist(tk_send_without_enc('itemconfigure',
                                                       tagid(tagOrId),
                                                       "-#{key}"))
        if conf[3] && conf[3] =~ /^[0-9]/
          conf[3] = list(conf[3])
        end
        if conf[4] && conf[4] =~ /^[0-9]/
          conf[4] = list(conf[4])
        end
      when 'text', 'label', 'show', 'data', 'file', 'maskdata', 'maskfile'
        conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId), "-#{key}")))
      when 'font', 'kanjifont'
        conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId),"-#{key}")))
        conf[4] = tagfont_configinfo(tagid(tagOrId), conf[4])
      else
        conf = tk_split_list(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId), "-#{key}")))
      end
      key = conf.shift[1..-1]
      { key => conf }
    else
      ret = {}
      tk_split_simplelist(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId)))).each{|conflist|
        conf = tk_split_simplelist(conflist)
        key = conf.shift[1..-1]
        case key
        when 'text', 'label', 'show', 'data', 'file', 'maskdata', 'maskfile'
        when 'dash', 'activedash', 'disableddash'
          if conf[2] && conf[2] =~ /^[0-9]/
            conf[2] = list(conf[2])
          end
          if conf[3] && conf[3] =~ /^[0-9]/
            conf[3] = list(conf[3])
          end
        else
          if conf[2]
            if conf[2].index('{')
              conf[2] = tk_split_list(conf[2])
            else
              conf[2] = tk_tcl2ruby(conf[2])
            end
          end
          if conf[3]
            if conf[3].index('{')
              conf[3] = tk_split_list(conf[3])
            else
              conf[3] = tk_tcl2ruby(conf[3])
            end
          end
        end
        if conf.size == 1
          ret[key] = conf[0][1..-1]  # alias info
        else
          ret[key] = conf
        end
      }

      fontconf = ret['font']
      if fontconf
        ret.delete('font')
        ret.delete('kanjifont')
        fontconf[3] = tagfont_configinfo(tagid(tagOrId), fontconf[3])
        ret['font'] = fontconf
      end

      ret['coords'] = ['', '', '', self.coords(tagOrId)]

      ret
    end
  end
end

def current_itemconfiginfo(tagOrId, key=nil)
  if TkComm::GET_CONFIGINFO_AS_ARRAY
    if key
      conf = itemconfiginfo(tagOrId, key)
      {conf[0] => conf[4]}
    else
      ret = {}
      itemconfiginfo(tagOrId).each{|conf|
        ret[conf[0]] = conf[4] if conf.size > 2
      }
      ret
    end
  else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
    ret = {}
    itemconfiginfo(tagOrId, key).each{|k, conf|
      ret[k] = conf[-1] if conf.kind_of?(Array)
    }
    ret
  end
end
 
               # File tk/lib/tk/canvas.rb, line 532
def lower(tag, below=nil)
  if below
    tk_send_without_enc('lower', tagid(tag), tagid(below))
  else
    tk_send_without_enc('lower', tagid(tag))
  end
  self
end
            
move(tag, dx, dy) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 541
def move(tag, dx, dy)
  tk_send_without_enc('move', tagid(tag), dx, dy)
  self
end
            
move_to(tag, x, y) click to toggle source
Alias for: moveto
moveto(tag, x, y) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 546
def moveto(tag, x, y)
  # Tcl/Tk 8.6 or later
  tk_send_without_enc('moveto', tagid(tag), x, y)
  self
end
            
Also aliased as: move_to
postscript(keys) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 553
def postscript(keys)
  tk_send("postscript", *hash_kv(keys))
end
            
raise(tag, above=nil) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 557
def raise(tag, above=nil)
  if above
    tk_send_without_enc('raise', tagid(tag), tagid(above))
  else
    tk_send_without_enc('raise', tagid(tag))
  end
  self
end
            
rchars(tag, first, last, str_or_coords) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 566
def rchars(tag, first, last, str_or_coords)
  # Tcl/Tk 8.6 or later
  str_or_coords = str_or_coords.flatten if str_or_coords.kinad_of? Array
  tk_send_without_enc('rchars', tagid(tag), first, last, str_or_coords)
  self
end
            
Also aliased as: replace_chars, replace_coords
remove(*args) click to toggle source
Alias for: delete
replace_chars(tag, first, last, str_or_coords) click to toggle source
Alias for: rchars
replace_coords(tag, first, last, str_or_coords) click to toggle source
Alias for: rchars
scale(tag, x, y, xs, ys) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 575
def scale(tag, x, y, xs, ys)
  tk_send_without_enc('scale', tagid(tag), x, y, xs, ys)
  self
end
            
scan_dragto(x, y, gain=None) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 584
def scan_dragto(x, y, gain=None)
  tk_send_without_enc('scan', 'dragto', x, y, gain)
  self
end
            
scan_mark(x, y) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 580
def scan_mark(x, y)
  tk_send_without_enc('scan', 'mark', x, y)
  self
end
            
select(mode, *args) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 589
def select(mode, *args)
  r = tk_send_without_enc('select', mode, *args)
  (mode == 'item')? TkcItem.id2obj(self, r): self
end
            
select_adjust(tagOrId, index) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 593
def select_adjust(tagOrId, index)
  select('adjust', tagid(tagOrId), index)
end
            
select_clear() click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 596
def select_clear
  select('clear')
end
            
select_from(tagOrId, index) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 599
def select_from(tagOrId, index)
  select('from', tagid(tagOrId), index)
end
            
select_item() click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 602
def select_item
  select('item')
end
            
select_to(tagOrId, index) click to toggle source
 
               # File tk/lib/tk/canvas.rb, line 605
def select_to(tagOrId, index)
  select('to', tagid(tagOrId), index)
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.