Object* MatchData::last_capture(STATE) { if(region_->num_fields() == 0) return cNil; native_int captures = region_->num_fields(); while(captures--) { Object* capture = nth_capture(state, captures); if(!capture->nil_p()) { return capture; } } return cNil; }
String* MatchData::last_capture(STATE) { if(region_->num_fields() == 0) return nil<String>(); native_int captures = region_->num_fields(); while(captures--) { String* capture = nth_capture(state, captures); if(!capture->nil_p()) { return capture; } } return nil<String>(); }
Object* MatchData::last_capture(STATE) { if(region_->num_fields() == 0) return Qnil; return nth_capture(state, region_->num_fields() - 1); }