--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: Returns the filenames found by expanding <em>pattern</em> which is an <tt>Array</tt> of the patterns or the pattern <tt>String</tt>, either as an <em>array</em> or as parameters to the block. Note that this pattern is not a regexp (it's closer to a shell glob). See <tt>File::fnmatch</tt> for the meaning of the <em>flags</em> parameter. Note that case sensitivity depends on your system (so <tt>File::FNM_CASEFOLD</tt> is ignored)
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "<code>*</code>:"
    body: Matches any file. Can be restricted by other values in the glob. <tt>*</tt> will match all files; <tt>c*</tt> will match all files beginning with <tt>c</tt>; <tt>*c</tt> will match all files ending with <tt>c</tt>; and <b><tt>c</tt></b> will match all files that have <tt>c</tt> in them (including at the beginning or end). Equivalent to <tt>/ .* /x</tt> in regexp.
  - !ruby/struct:SM::Flow::LI 
    label: "<code>**</code>:"
    body: Matches directories recursively.
  - !ruby/struct:SM::Flow::LI 
    label: "<code>?</code>:"
    body: Matches any one character. Equivalent to <tt>/.{1}/</tt> in regexp.
  - !ruby/struct:SM::Flow::LI 
    label: "<code>[set]</code>:"
    body: Matches any one character in <tt>set</tt>. Behaves exactly like character sets in Regexp, including set negation (<tt>[^a-z]</tt>).
  - !ruby/struct:SM::Flow::LI 
    label: "<code>{p,q}</code>:"
    body: Matches either literal <tt>p</tt> or literal <tt>q</tt>. Matching literals may be more than one character in length. More than two literals may be specified. Equivalent to pattern alternation in regexp.
  - !ruby/struct:SM::Flow::LI 
    label: "<code>\\</code>:"
    body: Escapes the next metacharacter.
  type: :NOTE
- !ruby/struct:SM::Flow::VERB 
  body: "   Dir[&quot;config.?&quot;]                     #=&gt; [&quot;config.h&quot;]\n   Dir.glob(&quot;config.?&quot;)                #=&gt; [&quot;config.h&quot;]\n   Dir.glob(&quot;*.[a-z][a-z]&quot;)            #=&gt; [&quot;main.rb&quot;]\n   Dir.glob(&quot;*.[^r]*&quot;)                 #=&gt; [&quot;config.h&quot;]\n   Dir.glob(&quot;*.{rb,h}&quot;)                #=&gt; [&quot;main.rb&quot;, &quot;config.h&quot;]\n   Dir.glob(&quot;*&quot;)                       #=&gt; [&quot;config.h&quot;, &quot;main.rb&quot;]\n   Dir.glob(&quot;*&quot;, File::FNM_DOTMATCH)   #=&gt; [&quot;.&quot;, &quot;..&quot;, &quot;config.h&quot;, &quot;main.rb&quot;]\n\n   rbfiles = File.join(&quot;**&quot;, &quot;*.rb&quot;)\n   Dir.glob(rbfiles)                   #=&gt; [&quot;main.rb&quot;,\n                                            &quot;lib/song.rb&quot;,\n                                            &quot;lib/song/karaoke.rb&quot;]\n   libdirs = File.join(&quot;**&quot;, &quot;lib&quot;)\n   Dir.glob(libdirs)                   #=&gt; [&quot;lib&quot;]\n\n   librbfiles = File.join(&quot;**&quot;, &quot;lib&quot;, &quot;**&quot;, &quot;*.rb&quot;)\n   Dir.glob(librbfiles)                #=&gt; [&quot;lib/song.rb&quot;,\n                                            &quot;lib/song/karaoke.rb&quot;]\n\n   librbfiles = File.join(&quot;**&quot;, &quot;lib&quot;, &quot;*.rb&quot;)\n   Dir.glob(librbfiles)                #=&gt; [&quot;lib/song.rb&quot;]\n"
full_name: Dir::glob
is_singleton: true
name: glob
params: |
  Dir.glob( pattern, [flags] ) => array
  Dir.glob( pattern, [flags] ) {| filename | block }  => nil

visibility: public
