<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -32,26 +32,48 @@ puts 1.5 / 2.6
 
 
 &lt;div class='box'&gt;
-Inteiros Ruby s&#227;o objetos da classe *Fixnum* ou *Bignum*. As classes *Fixnum* e *Bignum* representam inteiros de diferentes tamanhos. Ambas as classes descendem de *Integer* (e, sendo assim, de *Numeric*). Os n&#250;meros ponto flutuantes s&#227;o objetos da classe *Float*, correspondendo a nativa arquitetura do tipo de data double. As classes *Complex*, *BigDecimal* e *Rational* n&#227;o s&#227;o embutidas no Ruby mas s&#227;o distribu&#237;das com ele como parte das bibliotecas padr&#245;es. N&#243;s falaremos sobre classes em detalhes mais tarde.
+Inteiros Ruby s&#227;o objetos da classe *Fixnum* ou *Bignum*. As classes *Fixnum* e *Bignum* representam inteiros de diferentes tamanhos. Ambas as classes descendem de *Integer* (e, sendo assim, de *Numeric*). Os n&#250;meros em ponto flutuantes s&#227;o objetos da classe *Float*, correspondendo a arquitetura nativa do tipo de dados double. As classes *Complex*, *BigDecimal* e *Rational* n&#227;o s&#227;o embutidas no Ruby mas s&#227;o distribu&#237;das com ele como parte das bibliotecas padr&#245;es. N&#243;s falaremos sobre classes em detalhes mais tarde.
 &lt;/div&gt;
 
-A hierarquia das classes (cortesia: &quot;Donald Craig&quot;:http://www.cs.mun.ca/%7Edonald) &#233; como mostrado na figura abaixo:
+A hierarquia das classes (cortesia: &quot;Donald Craig&quot;:http://www.cs.mun.ca/%7Edonald) &#233; como  a mostrada na figura abaixo:
 
 !images/hierarquia_classes.gif!
 
 h2. Operadores e preced&#234;ncia
 
-Vamos dar uma olhada nos operadores do Ruby (cortesia: Dave Thomas' - &quot;Programming Ruby&quot;:http://www.pragprog.com/titles/ruby3/programming-ruby-3). Eles est&#227;o organizados aqui em ordem de preced&#234;ncia, da mais alta para a mais baixa.
+Vamos dar uma olhada nos operadores do Ruby (cortesia: Dave Thomas - &quot;Programming Ruby&quot;:http://www.pragprog.com/titles/ruby3/programming-ruby-3). Eles est&#227;o organizados aqui em ordem de preced&#234;ncia, da mais alta para a mais baixa.
+
+table{border:1px solid black}.
+|_. M&#233;todo |_. Operador |_. Descri&#231;&#227;o |
+| Sim | [] []= | Refer&#234;ncia a um elemento, conjunto de elementos |
+| Sim | ** | Exponencia&#231;&#227;o |
+| Sim | ! ~ + - | N&#227;o (nega&#231;&#227;o), complemento, mais e menos un&#225;rios (os nomes de m&#233;todos para os dois &#250;ltimos s&#227;o +@ e -@)|
+| Sim | * / % | Multiplica&#231;&#227;o, divis&#227;o e m&#243;dulo |
+| Sim | &gt;&gt; &lt;&lt; | Deslocamento para direita e esquerda |
+| Sim | &amp; | &quot;E&quot; (bitwise par inteiros) |
+| Sim | ^  | &quot;Ou&quot; exclusivo e &quot;ou&quot; comum (bitwise par inteiros) |
+| Sim | &lt;= &lt; &gt; &gt;= | Operadores de compara&#231;&#227;o |
+| Sim | &lt;= &lt; &gt; &gt;= | Igualdade e operadores para casamento de padr&#245;es (!= e !~ n&#227;o podem ser definidos como m&#233;todos) |
+|     | &amp;&amp; | &quot;E&quot; l&#243;gico |
+|     |    | &quot;Ou&quot; l&#243;gico |
+|     | .. ... | Intervalos inclusivo e exclusivo |
+|     | ?: | Operador tern&#225;rio (If-then-else) |
+|     | = %= /= -= += = &amp;= &gt;&gt;= &lt;&lt;= *= &amp;&amp;= = **= | Operadores de atribui&#231;&#227;o |
+|     | defined? | Checa se um s&#237;mbolo foi definido |
+|     | not | Nega&#231;&#227;o l&#243;gica |
+|     | or and | Composi&#231;&#227;o l&#243;gica|
+|     | if unless while until | Modificadores de express&#227;o|
+|     | begin/end | Express&#227;o de blocos|
+
 
-!images/operators.jpg!
 
 &lt;div class='box'&gt;
-# Os operadores de incremento e decremento (++ e --) n&#227;o est&#227;o	 dispon&#237;veis em Ruby, nem da forma &quot;pr&#233;&quot; nem &quot;p&#243;s&quot;. Entretanto, note que os operadores += e -= est&#227;o dispon&#237;veis.
+# Os operadores de incremento e decremento (++ e --) n&#227;o est&#227;o dispon&#237;veis em Ruby, nem da forma &quot;pr&#233;&quot; nem &quot;p&#243;s&quot;. Entretanto, note que os operadores += e -= est&#227;o dispon&#237;veis.
 # Par&#234;nteses funcionam da mesma forma como em express&#245;es aritm&#233;ticas. Qualquer coisa dentro de par&#234;nteses &#233; calculado primeiro (ou, de uma forma mais t&#233;cnica, &#233; dado uma preced&#234;ncia maior).
-# Os operadores checados na figura s&#227;o um tipo de syntactic sugar (mais sobre isso depois) - onde algo parece com um operador mas na verdade &#233; uma chamada a um m&#233;todo.
+# Os operadores checados na figura s&#227;o um tipo de _syntactic sugar_ (mais sobre isso depois) - onde algo parece com um operador mas na verdade &#233; uma chamada a um m&#233;todo.
 &lt;/div&gt;
 
-O operador m&#243;dulo (%) do Ruby comportasse da forma a seguir:
+O operador m&#243;dulo (%) do Ruby comportasse da seguinte forma:
 
 
 &lt;% coderay(:lang =&gt; &quot;ruby&quot;, :line_numbers =&gt; &quot;inline&quot;) do -%&gt;
@@ -101,7 +123,7 @@ ou, mais idiom&#225;tico, como:
 &lt;% end -%&gt;
 
 
-Uma raz&#227;o para essas vers&#245;es alternativas de operadores booleanos &#233; o fato de que eles tem preced&#234;ncia mais baixa do que o operador de atribui&#231;&#227;o. Isto significa que voc&#234; pode escrever uma express&#227;o booleana como a seguinte que atribui valores &#224; vari&#225;veis at&#233; que ele encontre um valor false:
+Uma raz&#227;o para essas vers&#245;es alternativas de operadores booleanos &#233; o fato de que eles t&#234;m preced&#234;ncia mais baixa do que o operador de atribui&#231;&#227;o. Isto significa que voc&#234; pode escrever uma express&#227;o booleana como a seguinte que atribui valores &#224; vari&#225;veis at&#233; que ele encontre um valor false:
 
 
 &lt;% coderay(:lang =&gt; &quot;ruby&quot;, :line_numbers =&gt; &quot;inline&quot;) do -%&gt;</diff>
      <filename>_webby/content/numeros-em-ruby.txt</filename>
    </modified>
    <modified>
      <diff>@@ -54,21 +54,122 @@
 &lt;/pre&gt;
 &lt;/div&gt;
 &lt;div class='box'&gt;
-&lt;p&gt;Inteiros Ruby s&#227;o objetos da classe &lt;strong&gt;Fixnum&lt;/strong&gt; ou &lt;strong&gt;Bignum&lt;/strong&gt;. As classes &lt;strong&gt;Fixnum&lt;/strong&gt; e &lt;strong&gt;Bignum&lt;/strong&gt; representam inteiros de diferentes tamanhos. Ambas as classes descendem de &lt;strong&gt;Integer&lt;/strong&gt; (e, sendo assim, de &lt;strong&gt;Numeric&lt;/strong&gt;). Os n&#250;meros ponto flutuantes s&#227;o objetos da classe &lt;strong&gt;Float&lt;/strong&gt;, correspondendo a nativa arquitetura do tipo de data double. As classes &lt;strong&gt;Complex&lt;/strong&gt;, &lt;strong&gt;BigDecimal&lt;/strong&gt; e &lt;strong&gt;Rational&lt;/strong&gt; n&#227;o s&#227;o embutidas no Ruby mas s&#227;o distribu&#237;das com ele como parte das bibliotecas padr&#245;es. N&#243;s falaremos sobre classes em detalhes mais tarde.&lt;/p&gt;
+&lt;p&gt;Inteiros Ruby s&#227;o objetos da classe &lt;strong&gt;Fixnum&lt;/strong&gt; ou &lt;strong&gt;Bignum&lt;/strong&gt;. As classes &lt;strong&gt;Fixnum&lt;/strong&gt; e &lt;strong&gt;Bignum&lt;/strong&gt; representam inteiros de diferentes tamanhos. Ambas as classes descendem de &lt;strong&gt;Integer&lt;/strong&gt; (e, sendo assim, de &lt;strong&gt;Numeric&lt;/strong&gt;). Os n&#250;meros em ponto flutuantes s&#227;o objetos da classe &lt;strong&gt;Float&lt;/strong&gt;, correspondendo a arquitetura nativa do tipo de dados double. As classes &lt;strong&gt;Complex&lt;/strong&gt;, &lt;strong&gt;BigDecimal&lt;/strong&gt; e &lt;strong&gt;Rational&lt;/strong&gt; n&#227;o s&#227;o embutidas no Ruby mas s&#227;o distribu&#237;das com ele como parte das bibliotecas padr&#245;es. N&#243;s falaremos sobre classes em detalhes mais tarde.&lt;/p&gt;
 &lt;/div&gt;
-&lt;p&gt;A hierarquia das classes (cortesia: &lt;a href=&quot;http://www.cs.mun.ca/%7Edonald&quot;&gt;Donald Craig&lt;/a&gt;) &#233; como mostrado na figura abaixo:&lt;/p&gt;
+&lt;p&gt;A hierarquia das classes (cortesia: &lt;a href=&quot;http://www.cs.mun.ca/%7Edonald&quot;&gt;Donald Craig&lt;/a&gt;) &#233; como  a mostrada na figura abaixo:&lt;/p&gt;
 &lt;p&gt;&lt;img src=&quot;images/hierarquia_classes.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
 &lt;h2&gt;Operadores e preced&#234;ncia&lt;/h2&gt;
-&lt;p&gt;Vamos dar uma olhada nos operadores do Ruby (cortesia: Dave Thomas&amp;#8217; &amp;#8211; &lt;a href=&quot;http://www.pragprog.com/titles/ruby3/programming-ruby-3&quot;&gt;Programming Ruby&lt;/a&gt;). Eles est&#227;o organizados aqui em ordem de preced&#234;ncia, da mais alta para a mais baixa.&lt;/p&gt;
-&lt;p&gt;&lt;img src=&quot;images/operators.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
+&lt;p&gt;Vamos dar uma olhada nos operadores do Ruby (cortesia: Dave Thomas &amp;#8211; &lt;a href=&quot;http://www.pragprog.com/titles/ruby3/programming-ruby-3&quot;&gt;Programming Ruby&lt;/a&gt;). Eles est&#227;o organizados aqui em ordem de preced&#234;ncia, da mais alta para a mais baixa.&lt;/p&gt;
+&lt;table style=&quot;border:1px solid black;&quot;&gt;
+	&lt;tr&gt;
+		&lt;th&gt;M&#233;todo &lt;/th&gt;
+		&lt;th&gt;Operador &lt;/th&gt;
+		&lt;th&gt;Descri&#231;&#227;o &lt;/th&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt; Sim &lt;/td&gt;
+		&lt;td&gt; [] []= &lt;/td&gt;
+		&lt;td&gt; Refer&#234;ncia a um elemento, conjunto de elementos &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt; Sim &lt;/td&gt;
+		&lt;td&gt; ** &lt;/td&gt;
+		&lt;td&gt; Exponencia&#231;&#227;o &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt; Sim &lt;/td&gt;
+		&lt;td&gt; ! ~ + &amp;#8211; &lt;/td&gt;
+		&lt;td&gt; N&#227;o (nega&#231;&#227;o), complemento, mais e menos un&#225;rios (os nomes de m&#233;todos para os dois &#250;ltimos s&#227;o +@ e -@)&lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt; Sim &lt;/td&gt;
+		&lt;td&gt; * / % &lt;/td&gt;
+		&lt;td&gt; Multiplica&#231;&#227;o, divis&#227;o e m&#243;dulo &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt; Sim &lt;/td&gt;
+		&lt;td&gt; &amp;gt;&amp;gt; &amp;lt;&amp;lt; &lt;/td&gt;
+		&lt;td&gt; Deslocamento para direita e esquerda &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt; Sim &lt;/td&gt;
+		&lt;td&gt; &amp;amp; &lt;/td&gt;
+		&lt;td&gt; &amp;#8220;E&amp;#8221; (bitwise par inteiros) &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt; Sim &lt;/td&gt;
+		&lt;td&gt; ^  |&lt;/td&gt;
+		&lt;td&gt; &amp;#8220;Ou&amp;#8221; exclusivo e &amp;#8220;ou&amp;#8221; comum (bitwise par inteiros) &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt; Sim &lt;/td&gt;
+		&lt;td&gt; &amp;lt;= &amp;lt; &amp;gt; &amp;gt;= &lt;/td&gt;
+		&lt;td&gt; Operadores de compara&#231;&#227;o &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt; Sim &lt;/td&gt;
+		&lt;td&gt; &amp;lt;= &amp;lt; &amp;gt; &amp;gt;= &lt;/td&gt;
+		&lt;td&gt; Igualdade e operadores para casamento de padr&#245;es (!= e !~ n&#227;o podem ser definidos como m&#233;todos) &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt;     &lt;/td&gt;
+		&lt;td&gt; &amp;amp;&amp;amp; &lt;/td&gt;
+		&lt;td&gt; &amp;#8220;E&amp;#8221; l&#243;gico &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt;     &lt;/td&gt;
+		&lt;td&gt;  ||  &lt;/td&gt;
+		&lt;td&gt; &amp;#8220;Ou&amp;#8221; l&#243;gico &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt;     &lt;/td&gt;
+		&lt;td&gt; .. &amp;#8230; &lt;/td&gt;
+		&lt;td&gt; Intervalos inclusivo e exclusivo &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt;     &lt;/td&gt;
+		&lt;td&gt; ?: &lt;/td&gt;
+		&lt;td&gt; Operador tern&#225;rio (If-then-else) &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt;     &lt;/td&gt;
+		&lt;td&gt; = %= /= -= += |= &amp;amp;= &amp;gt;&amp;gt;= &amp;lt;&amp;lt;= &lt;strong&gt;= &amp;amp;&amp;amp;= ||= *&lt;/strong&gt;= &lt;/td&gt;
+		&lt;td&gt; Operadores de atribui&#231;&#227;o &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt;     &lt;/td&gt;
+		&lt;td&gt; defined? &lt;/td&gt;
+		&lt;td&gt; Checa se um s&#237;mbolo foi definido &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt;     &lt;/td&gt;
+		&lt;td&gt; not &lt;/td&gt;
+		&lt;td&gt; Nega&#231;&#227;o l&#243;gica &lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt;     &lt;/td&gt;
+		&lt;td&gt; or and &lt;/td&gt;
+		&lt;td&gt; Composi&#231;&#227;o l&#243;gica&lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt;     &lt;/td&gt;
+		&lt;td&gt; if unless while until &lt;/td&gt;
+		&lt;td&gt; Modificadores de express&#227;o&lt;/td&gt;
+	&lt;/tr&gt;
+	&lt;tr&gt;
+		&lt;td&gt;     &lt;/td&gt;
+		&lt;td&gt; begin/end &lt;/td&gt;
+		&lt;td&gt; Express&#227;o de blocos&lt;/td&gt;
+	&lt;/tr&gt;
+&lt;/table&gt;
 &lt;div class='box'&gt;
 &lt;ol&gt;
-	&lt;li&gt;Os operadores de incremento e decremento (++ e &amp;#8212;) n&#227;o est&#227;o	 dispon&#237;veis em Ruby, nem da forma &amp;#8220;pr&#233;&amp;#8221; nem &amp;#8220;p&#243;s&amp;#8221;. Entretanto, note que os operadores += e -= est&#227;o dispon&#237;veis.&lt;/li&gt;
+	&lt;li&gt;Os operadores de incremento e decremento (++ e &amp;#8212;) n&#227;o est&#227;o dispon&#237;veis em Ruby, nem da forma &amp;#8220;pr&#233;&amp;#8221; nem &amp;#8220;p&#243;s&amp;#8221;. Entretanto, note que os operadores += e -= est&#227;o dispon&#237;veis.&lt;/li&gt;
 	&lt;li&gt;Par&#234;nteses funcionam da mesma forma como em express&#245;es aritm&#233;ticas. Qualquer coisa dentro de par&#234;nteses &#233; calculado primeiro (ou, de uma forma mais t&#233;cnica, &#233; dado uma preced&#234;ncia maior).&lt;/li&gt;
-	&lt;li&gt;Os operadores checados na figura s&#227;o um tipo de syntactic sugar (mais sobre isso depois) &amp;#8211; onde algo parece com um operador mas na verdade &#233; uma chamada a um m&#233;todo.&lt;br /&gt;
+	&lt;li&gt;Os operadores checados na figura s&#227;o um tipo de &lt;em&gt;syntactic sugar&lt;/em&gt; (mais sobre isso depois) &amp;#8211; onde algo parece com um operador mas na verdade &#233; uma chamada a um m&#233;todo.&lt;br /&gt;
 &lt;/div&gt;&lt;/li&gt;
 &lt;/ol&gt;
-&lt;p&gt;O operador m&#243;dulo (%) do Ruby comportasse da forma a seguir:&lt;/p&gt;
+&lt;p&gt;O operador m&#243;dulo (%) do Ruby comportasse da seguinte forma:&lt;/p&gt;
 &lt;div class=&quot;CodeRay&quot;&gt;
 &lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; puts (&lt;span class=&quot;i&quot;&gt;5&lt;/span&gt; % &lt;span class=&quot;i&quot;&gt;3&lt;/span&gt;)     &lt;span class=&quot;c&quot;&gt;# imprime  2  &lt;/span&gt;
 &lt;span class=&quot;no&quot;&gt;2&lt;/span&gt; puts (&lt;span class=&quot;i&quot;&gt;-5&lt;/span&gt; % &lt;span class=&quot;i&quot;&gt;3&lt;/span&gt;)    &lt;span class=&quot;c&quot;&gt;# imprime  1  &lt;/span&gt;
@@ -105,7 +206,7 @@
 &lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;iv&quot;&gt;@variavel&lt;/span&gt; ||= &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;valor padr&#227;o&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
 &lt;/pre&gt;
 &lt;/div&gt;
-&lt;p&gt;Uma raz&#227;o para essas vers&#245;es alternativas de operadores booleanos &#233; o fato de que eles tem preced&#234;ncia mais baixa do que o operador de atribui&#231;&#227;o. Isto significa que voc&#234; pode escrever uma express&#227;o booleana como a seguinte que atribui valores &#224; vari&#225;veis at&#233; que ele encontre um valor false:&lt;/p&gt;
+&lt;p&gt;Uma raz&#227;o para essas vers&#245;es alternativas de operadores booleanos &#233; o fato de que eles t&#234;m preced&#234;ncia mais baixa do que o operador de atribui&#231;&#227;o. Isto significa que voc&#234; pode escrever uma express&#227;o booleana como a seguinte que atribui valores &#224; vari&#225;veis at&#233; que ele encontre um valor false:&lt;/p&gt;
 &lt;div class=&quot;CodeRay&quot;&gt;
 &lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt; a = f(x) &lt;span class=&quot;r&quot;&gt;and&lt;/span&gt; b = f(y) &lt;span class=&quot;r&quot;&gt;and&lt;/span&gt; c = f(z) &lt;span class=&quot;r&quot;&gt;then&lt;/span&gt; d = g(a,b,c) &lt;span class=&quot;r&quot;&gt;end&lt;/span&gt;
 &lt;/pre&gt;</diff>
      <filename>numeros-em-ruby.html</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>fceb01acfce470f1d947b4cbf0ec18de33b180d4</id>
    </parent>
  </parents>
  <author>
    <name>agaelebe</name>
    <email>hugo.borges@gmail.com</email>
  </author>
  <url>http://github.com/guru-sp/tutorial_ruby/commit/dc9bf457f4f261b0fd965c641e248cee50e0fe01</url>
  <id>dc9bf457f4f261b0fd965c641e248cee50e0fe01</id>
  <committed-date>2009-10-21T15:26:22-07:00</committed-date>
  <authored-date>2009-10-21T15:26:22-07:00</authored-date>
  <message>translating ruby operator table</message>
  <tree>62b9c75d9d5f998f45f52ecf87ca968ba60ea7e5</tree>
  <committer>
    <name>agaelebe</name>
    <email>hugo.borges@gmail.com</email>
  </committer>
</commit>
