In Files

  • mrbgems/mruby-struct/mrblib/struct.rb

Struct

Public Instance Methods

_inspect() click to toggle source
 
               # File mrbgems/mruby-struct/mrblib/struct.rb, line 49
def _inspect
  str = "#<struct #{self.class.to_s} "
  buf = []
  self.each_pair do |k,v|
    buf.push [k.to_s + "=" + v._inspect]
  end
  str + buf.join(", ") + ">"
end
            
each(&block) click to toggle source

Calls the given block for each element of self and pass the respective element.

ISO 15.2.18.4.4

 
               # File mrbgems/mruby-struct/mrblib/struct.rb, line 14
def each(&block)
  self.class.members.each{|field|
    block.call(self[field])
  }
  self
end
            
each_pair(&block) click to toggle source

Calls the given block for each element of self and pass the name and value of the respectiev element.

ISO 15.2.18.4.5

 
               # File mrbgems/mruby-struct/mrblib/struct.rb, line 27
def each_pair(&block)
  self.class.members.each{|field|
    block.call(field.to_sym, self[field])
  }
  self
end
            
to_s → string click to toggle source
inspect → string

Describe the contents of this struct in a string.

15.2.18.4.10(x)

 
               # File mrbgems/mruby-struct/mrblib/struct.rb, line 67
def inspect
  begin
    self._inspect
  rescue SystemStackError
    "#<struct #{self.class.to_s}:...>"
  end
end
            
Also aliased as: to_s
select(&block) click to toggle source

Calls the given block for each element of self and returns an array with all elements of which block is not false.

ISO 15.2.18.4.7

 
               # File mrbgems/mruby-struct/mrblib/struct.rb, line 40
def select(&block)
  ary = []
  self.class.members.each{|field|
    val = self[field]
    ary.push(val) if block.call(val)
  }
  ary
end
            
to_s() click to toggle source

15.2.18.4.11(x)

Alias for: inspect