/* * call-seq: * obj.class_variable_set(symbol, obj) => obj * * Sets the class variable names by <i>symbol</i> to * <i>object</i>. * * class Fred * @@foo = 99 * def foo * @@foo * end * end * * def Fred.foo * class_variable_set(:@@foo, 101) #=> 101 * end * Fred.foo * Fred.new.foo #=> 101 */ static VALUE rb_mod_cvar_set(obj, iv, val) VALUE obj, iv, val; { ID id = rb_to_id(iv); if (!rb_is_class_id(id)) { rb_name_error(id, "`%s' is not allowed as an class variable name", rb_id2name(id)); } rb_cvar_set(obj, id, val, Qfalse); return val; }