<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Saga do programador &#187; operadores</title>
	<atom:link href="http://www.sagadoprogramador.com.br/tag/operadores/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sagadoprogramador.com.br</link>
	<description></description>
	<lastBuildDate>Wed, 18 Aug 2010 13:34:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Aprenda Ruby &#8211; Parte II</title>
		<link>http://www.sagadoprogramador.com.br/2009/04/aprenda-ruby-parte-ii/</link>
		<comments>http://www.sagadoprogramador.com.br/2009/04/aprenda-ruby-parte-ii/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 20:13:47 +0000</pubDate>
		<dc:creator>Iuri Menescal</dc:creator>
				<category><![CDATA[Ruby para iniciantes]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[aprenda ruby]]></category>
		<category><![CDATA[Iniciantes]]></category>
		<category><![CDATA[operadores]]></category>
		<category><![CDATA[Tutorial Ruby]]></category>
		<category><![CDATA[variáveis]]></category>

		<guid isPermaLink="false">http://www.sagadoprogramador.com.br/?p=232</guid>
		<description><![CDATA[Dando continuidade ao nosso papo, vou seguir a linha do primeiro post e falar mais sobre manipulação de variaveis.
Eu sei que não é um assunto muito empolgante, ou melhor não é muito "Ruby" (ou seja Dinamico, Agil, Divertido), mas para ter um bom entendimento temos que consolidar os fundamentos.
"Espero que o Luiz não leia isto [...]]]></description>
			<content:encoded><![CDATA[<p>Dando continuidade ao nosso papo, vou seguir a linha do <a href="http://www.sagadoprogramador.com.br/?p=199">primeiro post</a> e falar mais sobre manipulação de variaveis.</p>
<p>Eu sei que não é um assunto muito empolgante, ou melhor não é muito "Ruby" (ou seja Dinamico, Agil, Divertido), mas para ter um bom entendimento temos que consolidar os fundamentos.<br />
<em>"Espero que o <a href="http://www.sagadoprogramador.com.br/?p=169">Luiz</a> não leia isto rs.. "piada interna" hehe!"</em></p>
<p>Mas logo logo vamos entrar na parte legal, pense nessa fase como o primeiro periodo da faculdade, só que  com mais serventia <img src='http://www.sagadoprogramador.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Como falei anteriormente tudo em Ruby é objeto. Variaveis são apenas referencias para objetos e bla bla bla bla...</p>
<p><strong><em>Vamos ver mais alguns exemplos:</em></strong></p>
<p><strong><em></em></strong><span id="more-232"></span><a href="http://www.sagadoprogramador.com.br/wp-content/uploads/2009/04/post2_exemplo1.jpg"><img class="aligncenter size-full wp-image-234" title="Exemplo 1" src="http://www.sagadoprogramador.com.br/wp-content/uploads/2009/04/post2_exemplo1.jpg" alt="" width="360" height="279" /></a></p>
<p>Viu? o valor1 ficou com o mesmo valor2, isso por que as duas variáveis são referencias para o mesmo objeto.<br />
Note que eu alterei a variável <strong><em>"Var2[5] = 2"</em></strong> ao invés de atribuir um outro valor para ela <strong><em>"var2 = valor2"</em></strong>, nesse ultimo caso eu estaria atribuindo um novo objeto String para a variável var2.<br />
Mas isso você já sabia né? hum... Você lembra de todo aquela papo de linguagem dinâmica e tipagem forte do primeiro post? Não? putz.. seu fanfarrão!  da uma olhada lá novamente: <a href="http://www.sagadoprogramador.com.br/?p=199">post1</a></p>
<p>Existem métodos que nos ajudam a manipular variáveis, como o método freeze que congela a variável e não permite que ela seja alterada.</p>
<p>Outro método legal é o método dup:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">variavel1 = <span style="color:#996600;">&quot;Valor1&quot;</span>
variavel2 = variavel1.<span style="color:#9900CC;">dup</span></pre></div></div>

<p>Esse método deveria ser usado no exemplo anterior, para impedir que as duas variáveis ficassem com a mesma referencia.</p>
<h3><strong>Operadores</strong></h3>
<p>Grande parte dos operadores são métodos e podem ser alterados.</p>
<table>
<tbody>
<tr>
<td>+,-,*</td>
<td>adição,subtração,multiplicação</td>
</tr>
<tr>
<td>/,%</td>
<td>divisão,resto</td>
</tr>
<tr>
<td>**</td>
<td>Expoente</td>
</tr>
<tr>
<td>&amp;</td>
<td>AND binario</td>
</tr>
<tr>
<td>^ ou |</td>
<td>OR binario</td>
</tr>
<tr>
<td>&gt;,&gt;=,&lt;,&lt;=</td>
<td>maior, maior ou igual, menor, menor ou igual</td>
</tr>
<tr>
<td>&lt;=&gt;,==,===,!=, =~, !~</td>
<td>Operadores de igualdade, você vai entender melhor nos próximos post`s</td>
</tr>
<tr>
<td>=, %=, -=, +=, /=,*=,**=, ||=, &amp;&amp;=, &lt;&lt;,</td>
<td>Atribuição</td>
</tr>
<tr>
<td><strong>Lógicos</strong></td>
<td></td>
</tr>
<tr>
<td>&amp;&amp;</td>
<td>AND</td>
</tr>
<tr>
<td>||</td>
<td>OR</td>
</tr>
<tr>
<td>.. e ...</td>
<td>Ranges</td>
</tr>
<tr>
<td>? :</td>
<td>If Then else "Adoro esse <img src='http://www.sagadoprogramador.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> "</td>
</tr>
<tr>
<td>not</td>
<td>negação</td>
</tr>
<tr>
<td>or e and</td>
<td>composição</td>
</tr>
</tbody>
</table>
<p>Durante nosso aprendizado, vamos ter oportunidade de ver mais detalhes de alguns operadores.<br />
Ai você vai começar a entender por quê programar em ruby é tão legal <img src='http://www.sagadoprogramador.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Só para deixar esse post menos chato, vamos ver um exemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;">#só quero atribuir um valor quando a variável for nil</span>
variavel = <span style="color:#006666;">1</span>
=<span style="color:#006600; font-weight:bold;">&amp;</span>gt; <span style="color:#006666;">1</span>
variavel <span style="color:#006600; font-weight:bold;">||</span>= <span style="color:#006666;">2</span>
=<span style="color:#006600; font-weight:bold;">&amp;</span>gt; <span style="color:#006666;">1</span>
variavel = <span style="color:#0000FF; font-weight:bold;">nil</span>
=<span style="color:#006600; font-weight:bold;">&amp;</span>gt; <span style="color:#0000FF; font-weight:bold;">nil</span>
variavel <span style="color:#006600; font-weight:bold;">||</span>= <span style="color:#006666;">2</span>
=<span style="color:#006600; font-weight:bold;">&amp;</span>gt; <span style="color:#006666;">2</span>
<span style="color:#008000; font-style:italic;">#agora o oposto</span>
variavel = <span style="color:#006666;">1</span>
=<span style="color:#006600; font-weight:bold;">&amp;</span>gt; <span style="color:#006666;">1</span>
variavel <span style="color:#006600; font-weight:bold;">&amp;</span>amp;<span style="color:#006600; font-weight:bold;">&amp;</span>amp;= <span style="color:#006666;">2</span>
=<span style="color:#006600; font-weight:bold;">&amp;</span>gt; <span style="color:#006666;">2</span>
variavel = <span style="color:#0000FF; font-weight:bold;">nil</span>
=<span style="color:#006600; font-weight:bold;">&amp;</span>gt; <span style="color:#0000FF; font-weight:bold;">nil</span>
variavel <span style="color:#006600; font-weight:bold;">&amp;</span>amp;<span style="color:#006600; font-weight:bold;">&amp;</span>amp;= <span style="color:#006666;">1</span>
=<span style="color:#006600; font-weight:bold;">&amp;</span>gt; <span style="color:#0000FF; font-weight:bold;">nil</span></pre></div></div>

<p>Por enquanto é só, tenho certeza que já no próximo post, as coisas vão ficar mais empolgantes, ainda essa semana vou publicar a terceira parte aonde vamos ver alguns detalhes da classe String.<br />
Não deixe de continuar acompanhando, agora já passamos pela pior parte, o que vem pela frente é só diversão <img src='http://www.sagadoprogramador.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  tenho certeza que do decorrer dos exemplos que estão por vir você vai dizer algumas vezes "Caramba! que f0d@!!" :p</p>
<p>Fica aqui uma charada para o próximo post:</p>
<p>Tenho uma String com seguinte valor "um dois tres quatro cinco", como você faria em uma <a href="http://www.sagadoprogramador.com.br/?p=199">linguagem chata</a> para transformar essa String em um array contendo cinco itens?</p>
<p>Abraço!</p>
<p>Iuri Menescal<br />
<em>Diga não as drogas, não use <a href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx">IE</a>!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sagadoprogramador.com.br/2009/04/aprenda-ruby-parte-ii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
