- Timestamp:
- Jul 9, 2020, 8:51:43 AM (4 years ago)
- 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 47 47 end 48 48 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 50 52 name = self.class.to_s 51 53 if name[0] == "#" … … 56 58 buf = [] 57 59 self.each_pair do |k,v| 58 buf.push [k.to_s + "=" + v._inspect]60 buf.push k.to_s + "=" + v._inspect(recur_list) 59 61 end 60 62 str + buf.join(", ") + ">" … … 71 73 # 72 74 def inspect 73 begin 74 self._inspect 75 rescue SystemStackError 76 "#<struct #{self.class.to_s}:...>" 77 end 75 self._inspect({}) 78 76 end 79 77 … … 82 80 # 83 81 alias to_s inspect 84 end85 82 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 100 98 end 101 99 end 102 100 end 103
Note:
See TracChangeset
for help on using the changeset viewer.