--- each {|item| .... }

    ǤФƥ֥åɾޤself ֤ޤ

    :

        # 123 ֤ɽ
        [1, 2, 3].each do |i|
          puts i
        end

    each ˤ(ޤɸΥ᥽åɤ)ʣͤʤ鷫֤
    ȤϤǤޤ󡣸ߤΤȤʲΤ褦ʥ᥽åɤɬפ
    ޤ

    :

        class Array
          def every(&block)
            arity = block.arity
            return self.each(&block) if arity <= 0

            i = 0
            while i < self.size
              yield(*self[i, arity])
              i += arity
            end
            self
          end
        end

        ary = [1,2,3]
        ary.every {|i| p i}
        # => 1
        #    2
        #    3
        ary.every {|i,j| p [i,j]}
        # => [1, 2]
        #    [3, nil]
        ary.every {|i,j,k| p [i,j,k]}
        # => [1, 2, 3]
        ary.every {|*i| p *i}
        # => 1
        #    2
        #    3

