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

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: Executes the block for every line in the named I/O port, where lines are separated by <em>sep_string</em>.
- !ruby/struct:SM::Flow::VERB 
  body: "   IO.foreach(&quot;testfile&quot;) {|x| print &quot;GOT &quot;, x }\n"
- !ruby/struct:SM::Flow::P 
  body: <em>produces:</em>
- !ruby/struct:SM::Flow::VERB 
  body: "   GOT This is line one\n   GOT This is line two\n   GOT This is line three\n   GOT And so on...\n"
full_name: IO::foreach
is_singleton: true
name: foreach
params: |
  IO.foreach(name, sep_string=$/) {|line| block }   => nil

visibility: public
