title: Order of execution for multiple procs in Ruby
body: <p>I was trying out a silly example to get an understanding of multiple procs sent over to a method. However, one thing that amazed me was the order of execution. I looked at the Proc documentation but didn't really find an explanation (may be I didn't look closely enough). </p>
  
  <p>Here is an example: </p>
  
  <pre><code>def my_block(a, b)
      a.call b.call
  end
  
  a = Proc.new { puts "hello" }
  b = Proc.new { puts " world" }
  
  my_block a, b
  </code></pre>
  
  <p>
  Output:</p>
  
  <pre><code> world
  hello
  </code></pre>
  
  <p>It seems like the proc execution when given more than one on a line executes from left to right. Can someone explain this behaviour in detail? </p>