title: Ruby logical "and" operator
body: <p>When playing with IRB I came across this:</p>
  
  <pre><code>a = -1
  b = 1
  (a and b) &gt; 0
  </code></pre>
  
  <p>returns <code>true</code>, however</p>
  
  <pre><code>(false and true) == true
  </code></pre>
  
  <p>returns <code>false</code>.</p>
  
  <p>Why does the first statement return <code>true</code>? In the 'pickaxe' I read "Both <code>and</code> and <code>&amp;&amp;</code> evaluate to true only if both operands are true. They evaluate the second operand only if the ﬁrst is true[...]"</p>
  
  <p>This implies -- to me -- that the first statement should return <code>false</code></p>