Ignore:
Timestamp:
Jul 9, 2020, 8:51:43 AM (4 years ago)
Author:
coas-nagasima
Message:

mrubyを2.1.1に更新

Location:
EcnlProtoTool/trunk/mruby-2.1.1
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/mruby-2.1.1/mrbgems/mruby-struct/mrblib/struct.rb

    r331 r439  
    4747    end
    4848
    49     def _inspect
     49    def _inspect(recur_list)
     50      return "#<struct #{self.class}:...>" if recur_list[self.object_id]
     51      recur_list[self.object_id] = true
    5052      name = self.class.to_s
    5153      if name[0] == "#"
     
    5658      buf = []
    5759      self.each_pair do |k,v|
    58         buf.push [k.to_s + "=" + v._inspect]
     60        buf.push k.to_s + "=" + v._inspect(recur_list)
    5961      end
    6062      str + buf.join(", ") + ">"
     
    7173    #
    7274    def inspect
    73       begin
    74         self._inspect
    75       rescue SystemStackError
    76         "#<struct #{self.class.to_s}:...>"
    77       end
     75      self._inspect({})
    7876    end
    7977
     
    8280    #
    8381    alias to_s inspect
    84   end
    8582
    86   ##
    87   # call-seq:
    88   #   hsh.dig(key,...)                 -> object
    89   #
    90   # Extracts the nested value specified by the sequence of <i>key</i>
    91   # objects by calling +dig+ at each step, returning +nil+ if any
    92   # intermediate step is +nil+.
    93   #
    94   def dig(idx,*args)
    95     n = self[idx]
    96     if args.size > 0
    97       n&.dig(*args)
    98     else
    99       n
     83    ##
     84    # call-seq:
     85    #   hsh.dig(key,...)                 -> object
     86    #
     87    # Extracts the nested value specified by the sequence of <i>key</i>
     88    # objects by calling +dig+ at each step, returning +nil+ if any
     89    # intermediate step is +nil+.
     90    #
     91    def dig(idx,*args)
     92      n = self[idx]
     93      if args.size > 0
     94        n&.dig(*args)
     95      else
     96        n
     97      end
    10098    end
    10199  end
    102100end
    103 
Note: See TracChangeset for help on using the changeset viewer.