Class: Plamo::StringArray
- Inherits:
-
Object
- Object
- Plamo::StringArray
- Defined in:
- ext/plamo/plamo_string_array.c
Instance Method Summary collapse
- #[](index) ⇒ Object
- #delete_at(index) ⇒ Object
- #each ⇒ Object
- #first ⇒ Object
- #initialize ⇒ Object constructor
- #last ⇒ Object
- #length ⇒ Object (also: #size)
- #push(rb_string) ⇒ Object
Constructor Details
#initialize ⇒ Object
25 26 27 28 |
# File 'ext/plamo/plamo_string_array.c', line 25
static VALUE initialize(VALUE self) {
DATA_PTR(self) = plamo_string_array_new();
return self;
}
|
Instance Method Details
#[](index) ⇒ Object
69 70 71 72 73 74 75 76 77 78 |
# File 'ext/plamo/plamo_string_array.c', line 69
static VALUE get_at(VALUE self, VALUE index) {
PlamoStringArray *plamo_string_array;
TypedData_Get_Struct(self, PlamoStringArray, &rb_plamo_string_array_type, plamo_string_array);
const char *str = plamo_string_array_get_at(plamo_string_array, FIX2ULONG(index));
if (str != NULL) {
return rb_str_new2(str);
} else {
return Qnil;
}
}
|
#delete_at(index) ⇒ Object
91 92 93 94 95 96 97 98 99 |
# File 'ext/plamo/plamo_string_array.c', line 91
static VALUE delete_at(VALUE self, VALUE index) {
PlamoStringArray *plamo_string_array;
TypedData_Get_Struct(self, PlamoStringArray, &rb_plamo_string_array_type, plamo_string_array);
if (plamo_string_array_remove_at(plamo_string_array, FIX2ULONG(index))) {
return Qtrue;
} else {
return Qfalse;
}
}
|
#each ⇒ Object
84 85 86 87 88 89 |
# File 'ext/plamo/plamo_string_array.c', line 84
static VALUE each(VALUE self) {
PlamoStringArray *plamo_string_array;
TypedData_Get_Struct(self, PlamoStringArray, &rb_plamo_string_array_type, plamo_string_array);
plamo_string_array_for_each(plamo_string_array, execute_each);
return Qnil;
}
|
#first ⇒ Object
47 48 49 50 51 52 53 54 55 56 |
# File 'ext/plamo/plamo_string_array.c', line 47
static VALUE first(VALUE self) {
PlamoStringArray *plamo_string_array;
TypedData_Get_Struct(self, PlamoStringArray, &rb_plamo_string_array_type, plamo_string_array);
const char *str = plamo_string_array_get_first(plamo_string_array);
if (str != NULL) {
return rb_str_new2(str);
} else {
return Qnil;
}
}
|
#last ⇒ Object
58 59 60 61 62 63 64 65 66 67 |
# File 'ext/plamo/plamo_string_array.c', line 58
static VALUE last(VALUE self) {
PlamoStringArray *plamo_string_array;
TypedData_Get_Struct(self, PlamoStringArray, &rb_plamo_string_array_type, plamo_string_array);
const char *str = plamo_string_array_get_last(plamo_string_array);
if (str != NULL) {
return rb_str_new2(str);
} else {
return Qnil;
}
}
|
#length ⇒ Object Also known as: size
30 31 32 33 34 |
# File 'ext/plamo/plamo_string_array.c', line 30
static VALUE length(VALUE self) {
PlamoStringArray *plamo_string_array;
TypedData_Get_Struct(self, PlamoStringArray, &rb_plamo_string_array_type, plamo_string_array);
return SIZET2NUM(plamo_string_array_length(plamo_string_array));
}
|
#push(rb_string) ⇒ Object
36 37 38 39 40 41 42 43 44 45 |
# File 'ext/plamo/plamo_string_array.c', line 36
static VALUE push(VALUE self, VALUE rb_string) {
PlamoStringArray *plamo_string_array;
TypedData_Get_Struct(self, PlamoStringArray, &rb_plamo_string_array_type, plamo_string_array);
if (OBJ_FROZEN(self)) {
rb_exc_raise(rb_eFrozenError);
return Qnil;
}
plamo_string_array_add(plamo_string_array, StringValueCStr(rb_string));
return Qnil;
}
|