title: Ruby while syntax
body: <p>Does anybody why I can write this:</p>
  
  <pre><code>ruby-1.8.7-p302 &gt; a = %w( a b c)
   =&gt; ["a", "b", "c"] 
  ruby-1.8.7-p302 &gt; while (i = a.shift) do; puts i ; end
  a
  b
  c
   =&gt; nil 
  </code></pre>
  
  <p>Which looks like passing a block to while.
  And not:</p>
  
  <pre><code>while(i = a.shift) { puts i; }
  </code></pre>
  
  <p>Is it because the "do" of the while syntax is just syntaxic sugar and as nothing to do with the "do" of a block?</p>