Feature #6515 » feature_6515_array_part_of_v2.patch
| array.c | ||
|---|---|---|
| 
      *     ary.part_of? other_ary   ->   bool 
   | 
||
| 
      * 
   | 
||
| 
      *  Array 'A' is part of another array 'B' if 
   | 
||
| 
      *  each element from 'A' are include in 'B' 
   | 
||
| 
      *  each element from 'A' are included in 'B' 
   | 
||
| 
      * 
   | 
||
| 
      *  [ "a", "c" ].part_of? [ "a", "b", "c" ]    #=> true 
   | 
||
| 
      *  [ "a", "d" ].part_of? [ "a", "b", "c" ]    #=> false 
   | 
||
| ... | ... | |
| 
     rb_ary_part_of(VALUE ary1, VALUE ary2) 
   | 
||
| 
     { 
   | 
||
| 
         if (ary1 == ary2) return Qtrue; 
   | 
||
| 
         VALUE ary3, ary4; 
   | 
||
| 
         ary3 = rb_ary_and(ary1, ary2); 
   | 
||
| 
         ary4 = rb_ary_diff(ary1, ary3); 
   | 
||
| 
         return rb_ary_empty_p(ary4); 
   | 
||
| 
         ary2 = rb_ary_and(ary1, ary2); 
   | 
||
| 
         ary2 = rb_ary_diff(ary1, ary2); 
   | 
||
| 
         return rb_ary_empty_p(ary2); 
   | 
||
| 
     } 
   | 
||
| 
     /* 
   | 
||