: VALUE Data_Make_Struct(VALUE klass, type, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free, type *svar)
    type ι¤Τҡפ˳ƤƤؤΥݥ󥿤
    svar 饹 klass Υ󥹥󥹤Ǥ
    Ruby Υ֥Ȥ֤ޤmark
    free Ϥ줾ޡѡѤδؿؤΥݥ󥿤Ǥ
    ɤ⡢ɬפʤȤϤ 0 Ϥޤ

    ޤ RUBY_DATA_FUNC ϰʲΤ褦Ǥ

        typedef void (*RUBY_DATA_FUNC)(void *st)

     st ˤ svar ͤϤޤ

    

        struct mytype {
            int i;
            char *s;
        };

        VALUE
        my_s_new(klass)
            VALUE klass;
        {
            struct mytype *dummy;
            return Data_Make_Struct(MyClass, struct mytype,
                                    mark_my, free_my, dummy);
        }

