Guest User

Untitled

a guest
Feb 21st, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.47 KB | None | 0 0
  1. static VALUE
  2. rb_ary_uniq_bang(ary)
  3. VALUE ary;
  4. {
  5. VALUE hash, v, vv;
  6. long i, j;
  7.  
  8. hash = ary_make_hash(ary, 0);
  9.  
  10. if (RARRAY(ary)->len == RHASH(hash)->tbl->num_entries) {
  11. return Qnil;
  12. }
  13. for (i=j=0; i<RARRAY(ary)->len; i++) {
  14. v = vv = rb_ary_elt(ary, i);
  15. if (st_delete(RHASH(hash)->tbl, (st_data_t*)&vv, 0)) {
  16. rb_ary_store(ary, j++, v);
  17. }
  18. }
  19. RARRAY(ary)->len = j;
  20.  
  21. return ary;
  22. }
Add Comment
Please, Sign In to add comment