201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
# File 'ext/containers/deque/deque.c', line 201
static VALUE deque_init(int argc, VALUE *argv, VALUE self)
{
long len, i;
VALUE ary;
if(argc == 0) {
return self;
}
else if(argc > 1) {
rb_raise(rb_eArgError, "wrong number of arguments");
}
else {
ary = rb_check_array_type(argv[0]);
if(!NIL_P(ary)) {
len = RARRAY_LEN(ary);
for (i = 0; i < len; i++) {
deque_push_back(self, RARRAY_PTR(ary)[i]);
}
}
}
return self;
}
|