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

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: Tries to match with <tt>pattern</tt> at the current position. If there's a match, the scanner advances the &quot;scan pointer&quot; and returns the matched string. Otherwise, the scanner returns <tt>nil</tt>.
- !ruby/struct:SM::Flow::VERB 
  body: "  s = StringScanner.new('test string')\n  p s.scan(/\\w+/)   # -&gt; &quot;test&quot;\n  p s.scan(/\\w+/)   # -&gt; nil\n  p s.scan(/\\s+/)   # -&gt; &quot; &quot;\n  p s.scan(/\\w+/)   # -&gt; &quot;string&quot;\n  p s.scan(/./)     # -&gt; nil\n"
full_name: StringScanner#scan
is_singleton: false
name: scan
params: " scan(pattern) => String\n"
visibility: public
