Hi all,

This is a question on Ruby C extension.

I have been hacking some existed ruby c extension, and found following
code:

VALUE klass = rb_define_class(name, pClass);
rb_ivar_set(klass, id_some_var, someValue);

From the book "Programming Ruby, Second Edition", I know the prototype
for rb_ivar_set is like:

VALUE rb_ivar_set( VALUE obj, ID name, VALUE value )

And it says the first parameter should be an obj, while as we can see
from above, the code I am hacking is passing "klass" returned by
rb_define_class to rb_ivar_set.

So I wonder if this is a way to set class variable for a class. I am
really confused because the document says it should be used to set
value of instance variable to a given obj. Am I missing some
knowledge?

Any help is appreciated and thanks in advance!