def exclude(*patterns, &block)
      patterns.each do |pat|
        if pat.respond_to? :to_ary
          exclude(*pat.to_ary)
        else
          @exclude_patterns << Rake.from_pathname(pat)
        end
      end
      @exclude_procs << block if block_given?
      resolve_exclude unless @pending
      self
    end
def exclude(*patterns, &block)
      patterns.each do |pat|
        if pat.respond_to? :to_ary
          exclude(*pat.to_ary)
        else
          @exclude_patterns << Rake.from_pathname(pat)
        end
      end
      @exclude_procs << block if block_given?
      resolve_exclude unless @pending
      self
    end
Register a list of file name patterns that should be excluded from the
 list.  Patterns may be regular expressions, glob patterns or regular
 strings.  In addition, a block given to exclude will remove entries that
 return true when given to the block.

 Note that glob patterns are expanded against the file system. If a file
 is explicitly added to a file list, but does not exist in the file
 system, then an glob pattern in the exclude list will not exclude the
 file.

 Examples:
   FileList['a.c', 'b.c'].exclude("a.c") => ['b.c']
   FileList['a.c', 'b.c'].exclude(/^a/)  => ['b.c']

 If "a.c" is a file, then ...
   FileList['a.c', 'b.c'].exclude("a.*") => ['b.c']

 If "a.c" is not a file, then ...
   FileList['a.c', 'b.c'].exclude("a.*") => ['a.c', 'b.c']