public static RubyArray GetGroup(ConversionStorage <int> /*!*/ fixnumCast, MatchData /*!*/ self, [NotNull] Range /*!*/ range) { int begin, count; if (!IListOps.NormalizeRange(fixnumCast, self.GroupCount, range, out begin, out count)) { return(null); } return(GetGroup(self, begin, count)); }
public static RubyArray GetGroup(RubyContext /*!*/ context, MatchData /*!*/ self, [NotNull] Range /*!*/ range) { int begin, count; if (!IListOps.NormalizeRange(context, self.Groups.Count, range, out begin, out count)) { return(null); } return(GetGroup(context, self, begin, count)); }
public static RubyArray GetGroup(MatchData /*!*/ self, [DefaultProtocol] int start, [DefaultProtocol] int length) { if (!IListOps.NormalizeRange(self.GroupCount, ref start, ref length)) { return(null); } RubyArray result = new RubyArray(); for (int i = 0; i < length; i++) { result.Add(self.GetGroupValue(start + i)); } return(result); }