Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }