I think this post-condition (begin-end while) loop is really similar to that of many other common languages.<p>For example in both Java and Javascript you have:<p>do {<p><pre><code> statement(s)
</code></pre>
} while (expression);<p>which will execute the code in the block at least once.<p>Why in Ruby would that be much of a surprise then?<p>The only difference is that in Ruby you use "begin-end" (and not "do-end" which can be used to create a block only in some contextes).<p>Please correct me if I am wrong.