Method: ZScan#scan
- Defined in:
- ext/zscan.c
#scan(pattern) ⇒ Object
225 226 227 228 229 230 231 232 233 234 235 236 237 238 |
# File 'ext/zscan.c', line 225 static VALUE zscan_scan(VALUE self, VALUE pattern) { VALUE v_bytelen = zscan_match_bytesize(self, pattern); if (v_bytelen == Qnil) { return Qnil; } else { P; long bytelen = NUM2LONG(v_bytelen); volatile VALUE ret = rb_funcall(p->s, rb_intern("byteslice"), 2, LONG2NUM(p->bytepos), v_bytelen); VALUE v_len = rb_str_length(ret); p->bytepos += bytelen; p->pos += NUM2LONG(v_len); return ret; } } |