>>>>> "D" == David King Landrith <dlandrith / mac.com> writes: D> From what I understand, since 12 is a FixNum, a and b end up being D> separate FixNum objects with their own separate values of 12. But this D> strikes me as beside the point. You have not understood my example. Suppose that you want to define a method #name, give me the result for this def tt(x, y) p x.name, y.name end a = [] tt(a, a) my example has nothing to do with Fixnum D> In the C api, each function gets passed a pointer to the struct which D> represents self. well, I think that I know a little the C API ... Guy Decoux