implement #remove_instance_variable for RubyObjects
--- MacRuby/trunk/variable.c 2010-07-16 17:54:55 UTC (rev 4369)
+++ MacRuby/trunk/variable.c 2010-07-21 06:03:19 UTC (rev 4370)
@@ -1242,7 +1242,16 @@
switch (TYPE(obj)) {
case T_OBJECT:
- // TODO
+ {
+ const int slot = rb_vm_get_ivar_slot(obj, id, false);
+ if (slot != -1) {
+ val = rb_vm_get_ivar_from_slot(obj, slot);
+ if (val != Qundef) {
+ rb_vm_set_ivar_from_slot(obj, Qundef, slot);
+ return val;
+ }
+ }
+ }
break;
case T_CLASS: