<?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; Iniciantes</title>
	<atom:link href="http://www.sagadoprogramador.com.br/tag/iniciantes/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>
		<item>
		<title>Aprenda Rails. Estude Ruby!</title>
		<link>http://www.sagadoprogramador.com.br/2009/04/aprenda-rails-estude-ruby/</link>
		<comments>http://www.sagadoprogramador.com.br/2009/04/aprenda-rails-estude-ruby/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 02:46:57 +0000</pubDate>
		<dc:creator>Iuri Menescal</dc:creator>
				<category><![CDATA[OO]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby para iniciantes]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[Iniciantes]]></category>

		<guid isPermaLink="false">http://www.sagadoprogramador.com.br/?p=199</guid>
		<description><![CDATA[Desde que fui apresentado ao Rails virei um entusiasta desse framework, e em pouco tempo virei um evangelizador do Rails, não como o Carlos Brando ou o Akita que disseminam essa tecnologia pelo Brasil a fora, mas entre o grupo que conheço, programadores Delphi, Java, .Net e até PHP.

Muitos se animaram e assim como eu estão estudando esse framework, mas uma coisa que venho notando é que as pessoas que querem aprender Rails, começam a estudar Rails sem nunca ter visto Ruby.]]></description>
			<content:encoded><![CDATA[<p>Desde que fui apresentado ao Rails virei um entusiasta desse framework, e em pouco tempo virei um evangelizador do Rails, não como o <a href="http://www.nomedojogo.com/">Carlos Brando</a> ou o <a href="http://www.akitaonrails.com/">Akita</a> que disseminam essa tecnologia pelo Brasil a fora, mas entre o grupo que conheço, programadores Delphi, Java, .Net e até PHP.</p>
<p>Muitos se animaram e assim como eu estão estudando esse framework, mas uma coisa que venho notando é que as pessoas que querem aprender Rails, começam a estudar Rails sem nunca ter visto Ruby.</p>
<p>Isso é um erro comum e que demora para ser percebido, por conta da facilidade e da agilidade do Rails em gerar resultados logo no primeiro dia de estudos, o que acaba causando uma falsa impressão de evolução e te transformando em um <a href="http://pt.wikipedia.org/wiki/Code_monkey">"Code monkey"</a>.</p>
<p>Acabamos escrevendo código sem saber o significado, e convenhamos para que vem de linguagens  como (Delphi, C#, etc..) é um mundo completamente diferente.<br />
(<em>No decorrer dessa sequencia de post`s vou ser obrigado a citar novamente esse exemplo, por isso vamos utilizar o termo "Linguagens chatas" <img src='http://www.sagadoprogramador.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </em>)</p>
<p>Pode parecer meio radical, mas antes do fim dessa série você vai notar, que alem de tudo Ruby é divertido!</p>
<p><span id="more-199"></span></p>
<p>É muito normal uma pessoa que só desenvolve em <strong><em>Linguagens chatas</em></strong> ter dificuldade para entender o código abaixo:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">    sexo = <span style="color:#996600;">&quot;M&quot;</span>
   nome = <span style="color:#996600;">&quot;Iuri&quot;</span>
   <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Ola &quot;</span> <span style="color:#006600; font-weight:bold;">&amp;</span>lt;<span style="color:#006600; font-weight:bold;">&amp;</span>lt; <span style="color:#996600;">&quot;sr#S#&quot;</span>.<span style="color:#CC0066; font-weight:bold;">gsub</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">/</span><span style="color:#008000; font-style:italic;">#S#/,sexo == &quot;F&quot;?&quot;a.&quot;:&quot;.&quot;) &amp;lt;&amp;lt; nome</span></pre></div></div>

<p><em>Pode apostar, o resultado desse códito seria: "Ola sr. Iuri"</em></p>
<p>Por isso resolvi publicar uma serie de artigos falando mais sobre Ruby.<br />
Então já para dar inicio, vou terminar esse post com uma breve explicação.</p>
<p>O que é Ruby?</p>
<p>Ruby é uma linguagem dinâmica e de tipagem forte para programação OO.<br />
Na verdade Ruby é muito mais do que isso, mas isso você vai descobrir no decorrer dos nossos estudos.</p>
<p>O Ruby foi inventado por <a href="http://en.wikipedia.org/wiki/Yukihiro_Matsumoto">Yukihiro Matsumoto</a>.<br />
É uma linguagem totalmente livre, (Usar, Copiar, Modificar...)</p>
<p>O Ruby é uma linguagem 100% orientada a objetos, tudo em Ruby é objeto, qualquer variável em Ruby aponta para um objeto.</p>
<p>Por exemplo:</p>
<div id="attachment_204" class="wp-caption aligncenter" style="width: 308px"><a href="http://www.sagadoprogramador.com.br/wp-content/uploads/2009/04/exemplo_classe.jpg"><img class="size-full wp-image-204" src="http://www.sagadoprogramador.com.br/wp-content/uploads/2009/04/exemplo_classe.jpg" alt="Exemplo de Classe" width="298" height="146" /></a><p class="wp-caption-text">Exemplo de Classe</p></div>
<p>Quer mais provas?<br />
<a href="http://www.sagadoprogramador.com.br/wp-content/uploads/2009/04/exemplo_methods.jpg"><img class="alignnone size-full wp-image-205" src="http://www.sagadoprogramador.com.br/wp-content/uploads/2009/04/exemplo_methods.jpg" alt="" width="500" height="250" /></a></p>
<p><strong><em>O atributo "methods" exibe todos as funções disponíveis na classe</em></strong></p>
<p>Como eu disse no inicio o Ruby possui tipagem forte, vamos ver um exemplo:<br />
<a href="http://www.sagadoprogramador.com.br/wp-content/uploads/2009/04/tipagem_forte1.jpg"><img class="aligncenter size-full wp-image-207" title="Tipagem forte" src="http://www.sagadoprogramador.com.br/wp-content/uploads/2009/04/tipagem_forte1.jpg" alt="" width="436" height="195" /></a></p>
<p><em>"Ué você não falou que tem tipagem forte? como eu consegui atribuir uma string em um numérico?"</em><br />
Sim tem tipagem forte, como eu disse no inicio, variaveis são referencias para objetos, nesse caso eu apenas apontei a variavel para um novo objeto.<br />
Agora vamos ver o exemplo abaixo:<br />
<a href="http://www.sagadoprogramador.com.br/wp-content/uploads/2009/04/tipagem_forte2.jpg"><img class="aligncenter size-full wp-image-210" title="Tipagem forte" src="http://www.sagadoprogramador.com.br/wp-content/uploads/2009/04/tipagem_forte2.jpg" alt="" width="345" height="257" /></a></p>
<p>Bom, por enquanto é só. No próximo post vamos começar a colcar a mão na massa, ai sim você vai começar a descobrir como Ruby é divertido <img src='http://www.sagadoprogramador.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </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-rails-estude-ruby/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
