예제 #1
0
        static API()
        {
            if (UIntPtr.Size == sizeof(double))
            {
                RUBY_Qfalse         = 0;
                RUBY_Qtrue          = 0x14;
                RUBY_Qnil           = 0x08;
                RUBY_Qundef         = 0x34;
                RUBY_IMMEDIATE_MASK = 0x07;
                RUBY_FIXNUM_FLAG    = 0x01;
                RUBY_FLONUM_MASK    = 0x02;
                RUBY_FLONUM_FLAG    = 0x02;
                RUBY_SYMBOL_FLAG    = 0x0c;
            }
            else
            {
                RUBY_Qfalse         = 0;
                RUBY_Qtrue          = 2;
                RUBY_Qnil           = 4;
                RUBY_Qundef         = 6;
                RUBY_IMMEDIATE_MASK = 0x03;
                RUBY_FIXNUM_FLAG    = 0x01;
                RUBY_FLONUM_MASK    = 0x00;
                RUBY_FLONUM_FLAG    = 0x02;
                RUBY_SYMBOL_FLAG    = 0x0e;
            }
            RUBY_SPECIAL_SHIFT = 8;
            Qfalse             = new VALUE(RUBY_Qfalse);
            Qtrue  = new VALUE(RUBY_Qtrue);
            Qnil   = new VALUE(RUBY_Qnil);
            Qundef = new VALUE(RUBY_Qundef);

            NULL = (void *)0;
            RUBY_DEFAULT_FREE = (void *)-1;
        }
예제 #2
0
 public static extern VALUE rb_ary_clear(VALUE ary);
예제 #3
0
 public static extern VALUE rb_hash_size(VALUE hash);
예제 #4
0
 public static extern VALUE rb_hash_keys(VALUE hash);
예제 #5
0
 public static extern VALUE rb_hash_aset(VALUE hash, VALUE key, VALUE value);
예제 #6
0
 public static extern VALUE rb_hash_dup(VALUE hash);
예제 #7
0
 public static extern VALUE rb_hash_clear(VALUE hash);
예제 #8
0
 public static extern VALUE rb_ary_reverse(VALUE ary);
예제 #9
0
 public static extern VALUE rb_ary_push(VALUE ary, VALUE obj);
예제 #10
0
 public static extern VALUE rb_ary_pop(VALUE ary);
예제 #11
0
 public static extern VALUE rb_ary_entry(VALUE ary, int index);
예제 #12
0
 public static extern VALUE rb_ary_delete_at(VALUE ary, int index);
예제 #13
0
 public static extern VALUE rb_ary_delete(VALUE ary, VALUE item);
예제 #14
0
 public static extern VALUE rb_ary_cmp(VALUE ary1, VALUE ary2);
예제 #15
0
 public static extern VALUE rb_ary_concat(VALUE ary, VALUE value);
예제 #16
0
 public static extern VALUE rb_ary_rotate(VALUE ary, int n);
예제 #17
0
 public static extern VALUE rb_ary_replace(VALUE copy, VALUE orig);
예제 #18
0
 public static extern VALUE rb_ary_unshift(VALUE ary, VALUE obj);
예제 #19
0
 public static extern VALUE rb_hash_freeze(VALUE hash);
예제 #20
0
 public static extern VALUE rb_ary_plus(VALUE ary1, VALUE ary2);
예제 #21
0
 public static extern VALUE rb_hash_delete(VALUE hash, VALUE key);
예제 #22
0
 public static extern VALUE rb_ary_shift(VALUE ary);
예제 #23
0
 public static extern VALUE rb_hash_aref(VALUE hash, VALUE key);
예제 #24
0
 public static extern VALUE rb_ary_each(VALUE ary);
예제 #25
0
 public static extern VALUE rb_hash_has_key(VALUE hash, VALUE key);
예제 #26
0
 public static extern VALUE rb_ary_includes(VALUE ary, VALUE obj);
예제 #27
0
 public static extern VALUE rb_hash_values(VALUE hash);
예제 #28
0
 public static extern VALUE rb_ary_aref(int argc, VALUE *argv, VALUE ary);
예제 #29
0
 public static extern VALUE rb_hash_set_ifnone(VALUE hash, VALUE defaultValue);
예제 #30
0
 public static extern VALUE rb_ary_sort_bang(VALUE ary);