<?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>r4ito</title>
	<atom:link href="http://r4ito.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://r4ito.com</link>
	<description>» because learning is fun</description>
	<lastBuildDate>Thu, 10 Jun 2010 02:58:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Screencasts de Ruby on Rails 3</title>
		<link>http://r4ito.com/?p=525</link>
		<comments>http://r4ito.com/?p=525#comments</comments>
		<pubDate>Thu, 10 Jun 2010 00:45:59 +0000</pubDate>
		<dc:creator>r4ito</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://r4ito.com/?p=525</guid>
		<description><![CDATA[A pesar de que Rails 3 aun esta en beta (beta 4 y rc pronto), en la pagina oficial de Ruby on Rails en la seccion de screencast se ha publicado una serie de videos sobre esta version.

Pueden verlos accediendo a http://rubyonrails.org/screencasts/rails3/, estan todos en Ingles. El video introductorio habla sobre nuevos atajos para comandos [...]]]></description>
			<content:encoded><![CDATA[<p>A pesar de que Rails 3 aun esta en beta (<a href='http://weblog.rubyonrails.org/2010/6/8/rails-3-0-beta-4-now-rc-in-days' target='_blank'>beta 4</a> y rc pronto), en la pagina oficial de <a href='http://rubyonrails.org' target='_blank'>Ruby on Rails</a> en la seccion de screencast se ha publicado una serie de videos sobre esta version.</p>
<p><center><a href='http://rubyonrails.org/screencasts/rails3/' target='_blank'><img src='/docs/rails/rails3screencasts.png' border='0'></a></center></p>
<p>Pueden verlos accediendo a <a href='http://rubyonrails.org/screencasts/rails3/' target='_blank'>http://rubyonrails.org/screencasts/rails3/</a>, estan todos en Ingles. El video introductorio habla sobre nuevos atajos para comandos comunes, cambios en la sintaxis, mejoras y en general sobre las novedades que se podran encontrar.</p>
]]></content:encoded>
			<wfw:commentRss>http://r4ito.com/?feed=rss2&amp;p=525</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s learn Japanese Basic I y II &#8211; Lecciones en video</title>
		<link>http://r4ito.com/?p=486</link>
		<comments>http://r4ito.com/?p=486#comments</comments>
		<pubDate>Thu, 24 Dec 2009 20:50:56 +0000</pubDate>
		<dc:creator>r4ito</dc:creator>
				<category><![CDATA[Japonés]]></category>

		<guid isPermaLink="false">http://r4ito.com/?p=486</guid>
		<description><![CDATA[Grupo de videos creados por &#8220;The Japanese Foundation&#8220;, la primera serie (Basic I) fue creado entre 1984 y 1985. Presentado por Mary Atlhaus utiliza sketchs con la participacion de Mine-san (Yusuke Mine), Sugihara-san (Miki Sugihara), y Kaihô-san (Hiroyuki Kaihô), estos sketchs ayudan a memorizar y tambien practicar el uso de nuevas palabras y estructuras gramaticales. [...]]]></description>
			<content:encoded><![CDATA[<p>Grupo de videos creados por &#8220;<a href='http://www.jpf.go.jp/e/publish/japanese/index.html' target='_blank'>The Japanese Foundation</a>&#8220;, la primera serie (Basic I) fue creado entre 1984 y 1985. Presentado por Mary Atlhaus utiliza sketchs con la participacion de Mine-san (Yusuke Mine), Sugihara-san (Miki Sugihara), y Kaihô-san (Hiroyuki Kaihô), estos sketchs ayudan a memorizar y tambien practicar el uso de nuevas palabras y estructuras gramaticales. La serie tambien sigue la historia de Yan, un personaje que llega a Japon para trabajar como arquitecto.</p>
<p>La segunda serie (Basic II) fue creada en 1995 y es presentada por Tae Umino, esta vez los sketchs son realizados por Andô-san (Seiji Andô), Koyanagi-san (Chinatsu Koyanagi) y Kodama-san (Yorinobu Kodama). En esta serie la historia de Yan continua.</p>
<h3>Algunas screenshots de un episodio de la primera serie</h3>
<p><center><br />
La presentadora de la primera serie Mary Atlhaus,<br />
<img src='docs/jpn/LLJ1.png'><br />
Sugihara-san y Mine-san<br />
<img src='docs/jpn/LLJ2.png'><br />
Mine-san y Kaihô en un sketch<br />
<img src='docs/jpn/LLJ3.png'></center></p>
<p>Y a lo que vinimos, las descargas:</p>
<h3>Basic I</h3>
<p class='dl'><a href='http://www.mediafire.com/download.php?mmonzznmmom' target='_blank'>1. I&#8217;m Yan.</a><br />
Tamaño: 77.1 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?zvmzxewwynn' target='_blank'>2. What&#8217;s that?</a><br />
Tamaño: 81.9 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?2zzx2jmmnyk' target='_blank'>3. There&#8217;s a cat.</a><br />
Tamaño: 77.2 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?wamzmnuqzyd' target='_blank'>4. Where is it?</a><br />
Tamaño: 75.1 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?b2aewnmmjm4' target='_blank'>5. Please give me some stamps.</a><br />
Tamaño: 68.1 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?cyznjngnymh' target='_blank'>6. Please turn left at the next corner.</a><br />
Tamaño: 61.9 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?xxmmwtznyow' target='_blank'>7. May I look at this?</a><br />
Tamaño: 69.2 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?34wjtjgzmuu' target='_blank'>8. May I write with a pencil?</a><br />
Tamaño: 66.3 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?yimmhywunxu' target='_blank'>9. She gets up at 6 o&#8217;clock every morning.</a><br />
Tamaño: 67.5 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?ohtzjmwyjzz' target='_blank'>10. He doesn&#8217;t drink milk.</a><br />
Tamaño: 81.0 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?2mzg0ln4znt' target='_blank'>11. I went to Nikkō.</a><br />
Tamaño: 60.5 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?ker5wdwzrdy' target='_blank'>12. When did you go?</a><br />
Tamaño: 63.3 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?ngz4jzmjkhx' target='_blank'>13. They&#8217;re watching a baseball game.</a><br />
Tamaño: 66.0 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/?5fclyo5j4nf' target='_blank'>14. He&#8217;s drinking beer while watching TV.</a><br />
Tamaño: 69.1 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?nltodmwz5kw' target='_blank'>15. It&#8217;s hot every day.</a><br />
Tamaño: 74.0 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?mw2jjmzm20m' target='_blank'>16. Is it hot enough?</a><br />
Tamaño: 65.1 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?cnyyeaiuqgn' target='_blank'>17. I want to drink some cold beer.</a><br />
Tamaño: 74.2 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?jnl3tzxnzyg' target='_blank'>18. Do you dislike fish?</a><br />
Tamaño: 68.5 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?wzzmmuryk4k' target='_blank'>19. Mt Fuji will come into view before long.</a><br />
Tamaño: 66.4 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?ygmy2dk2qqy' target='_blank'>20. It looks good.</a><br />
Tamaño: 82.7 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?lmddoj1zhjl' target='_blank'>21. I can&#8217;t speak English.</a><br />
Tamaño: 62.4 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?hqnnhiziw2m' target='_blank'>22. Is it possible to see the model room?</a><br />
Tamaño: 64.7 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?dznwznjwl1a' target='_blank'>23. Why aren&#8217;t cars passing?</a><br />
Tamaño: 87.5 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?xyggkzizmym' target='_blank'>24. We&#8217;re a little late so let&#8217;s hurry</a><br />
Tamaño: 90.6 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?4mqwilmi3zz' target='_blank'>25. What&#8217;s in the briefcase?</a><br />
Tamaño: 70.4 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?ylemmj2nn3z' target='_blank'>26. Do you remember</a><br />
Tamaño: 98.4 mb | Formato: .avi</p>
<h3>Basic II</h3>
<p class='dl'><a href='http://www.mediafire.com/download.php?weod5o4nizj' target='_blank'>1. I think I can be there by 4 PM</a><br />
Tamaño: 114.4 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?khhdjl4hjmh' target='_blank'>2. Maybe you should go and meet her soon</a><br />
Tamaño: 82.5 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?gw2gemyki1z' target='_blank'>3. He said he&#8217;s going to Nagasaki today</a><br />
Tamaño: 68.4 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?0qkwzj20mik' target='_blank'>4. I got them from a friend</a><br />
Tamaño: 67.0 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?z3jd5yftyg1' target='_blank'>5. We&#8217;re thinking of singing Beethoven&#8217;s ninth</a><br />
Tamaño: 70.0 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?mntttjjjlyd' target='_blank'>6. Try reading the Japanese</a><br />
Tamaño: 74.4 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?mx2zgmzcdvd' target='_blank'>7. It&#8217;s nice and clean now</a><br />
Tamaño: 85.4 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?wyn03dtwgzn' target='_blank'>8. Will you turn up the volume on the TV a little bit?</a><br />
Tamaño: 83.3 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?zkzy2jzh242' target='_blank'>9. Turn the stove off when you leave the room</a><br />
Tamaño: 84.8 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?n3jazjzxdz2' target='_blank'>10. I&#8217;m so bored I don&#8217;t know what to do</a><br />
Tamaño: 76.5 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?ttzmthzz2gj' target='_blank'>11. Shall I change the towel?</a><br />
Tamaño: 78.5 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?omzzymydmem' target='_blank'>12. Mr.Terada has been taking care of me</a><br />
Tamaño: 75.3 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?5mnyznz5kxr' target='_blank'>13. If this design is chosen, I&#8217;ll go back to my country</a><br />
Tamaño: 88.4 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?2zedzymdzmd' target='_blank'>14. You mustn&#8217;t tell Yan</a><br />
Tamaño: 111.3 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?yji1yogjdym' target='_blank'>15. He doesn&#8217;t seem to be there</a><br />
Tamaño: 79.3 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?mofotnyejzf' target='_blank'>16. Even if we invite him, I don&#8217;t think he&#8217;ll come</a><br />
Tamaño: 93.2 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?mymqaz02lwa' target='_blank'>17. I was in a hurry, so I couldn&#8217;t buy it</a><br />
Tamaño: 76.3 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?t2wtzjyym4m' target='_blank'>18. I&#8217;m planning to see the sea, visit old houses and so on.</a><br />
Tamaño: 86.4 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?5nvyywhfyim' target='_blank'>19. It&#8217;s hard, working like that in this snow</a><br />
Tamaño: 82.2 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?fnzndmwhw2k' target='_blank'>20. What&#8217;s this fish called?</a><br />
Tamaño: 88.3 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?mnnl4dlum2k' target='_blank'>21. The sakura hasn&#8217;t bloomed yet, has it?</a><br />
Tamaño: 125.0 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?rdzgzgzmzjg' target='_blank'>22. There&#8217;s only one bottle left</a><br />
Tamaño: 112.5 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?mtnryojmuxh' target='_blank'>23. We&#8217;ll miss you when you&#8217;ve gone</a><br />
Tamaño: 107.4 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?zdzkumubmyn' target='_blank'>24. I&#8217;ve never traveled abroad before</a><br />
Tamaño: 79.2 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?ymmyzkunwmj' target='_blank'>25. Give it to him when he&#8217;s come down</a><br />
Tamaño: 92.1 mb | Formato: .avi</p>
<p class='dl'><a href='http://www.mediafire.com/download.php?jwnyhyeyqjq' target='_blank'>26. If you&#8217;re ever in Japan again please stop by</a><br />
Tamaño: 106.9 mb | Formato: .avi</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://r4ito.com/?feed=rss2&amp;p=486</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Estructuras condicionales en Ruby</title>
		<link>http://r4ito.com/?p=461</link>
		<comments>http://r4ito.com/?p=461#comments</comments>
		<pubDate>Tue, 22 Dec 2009 23:35:30 +0000</pubDate>
		<dc:creator>r4ito</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[case]]></category>
		<category><![CDATA[else]]></category>
		<category><![CDATA[elsif]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[modificador]]></category>
		<category><![CDATA[modifier]]></category>
		<category><![CDATA[unless]]></category>

		<guid isPermaLink="false">http://r4ito.com/?p=461</guid>
		<description><![CDATA[Ruby ofrece estructuras condicionales o de control como if/else, case(switch) y otras que vere en esta entrada.
Declaracion if
Un bloque de codigo dado es ejecutado solo si la condicion es verdadera(true).
if condicion
&#160; &#160;# codigo a ejecutar si la condicion es verdadera
end
Por ejemplo:
edad = 23
if edad &#62;= 18
&#160; &#160;puts &#34;Mayor de edad.&#34;
end
Mayor de edad.
En ruby es considerado [...]]]></description>
			<content:encoded><![CDATA[<p>Ruby ofrece estructuras condicionales o de control como if/else, case(switch) y otras que vere en esta entrada.</p>
<h3>Declaracion if</h3>
<p>Un bloque de codigo dado es ejecutado solo si la condicion es verdadera(true).</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">if</span> condicion<br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo a ejecutar si la condicion es verdadera</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>Por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">edad = <span style="color:#006666;">23</span><br />
<span style="color:#9966CC; font-weight:bold;">if</span> edad <span style="color:#006600; font-weight:bold;">&gt;</span>= <span style="color:#006666;">18</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Mayor de edad.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<pre>Mayor de edad.</pre>
<p>En ruby es considerado verdadero todo aquello que no sea <i>false</i> o <i>nil</i>.</p>
<h3>Declaracion if&#8230;else</h3>
<p>Se puede definir un bloque de codigo a ser ejecutado cuando la condicion no se cumpla usando <i>else</i>(si no):</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">if</span> condicion<br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo a ejecutar si la condicion es verdadera</span><br />
<span style="color:#9966CC; font-weight:bold;">else</span><br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo a ejecutar si la condicion es falsa</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>Por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">edad = <span style="color:#006666;">15</span><br />
<span style="color:#9966CC; font-weight:bold;">if</span> edad <span style="color:#006600; font-weight:bold;">&gt;</span>= <span style="color:#006666;">18</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Mayor de edad.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">else</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Menor de edad.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<pre>Menor de edad.</pre>
<h3>Declaracion if&#8230;elsif&#8230;else</h3>
<p>Mediante el uso de <i>elsif</i> podemos agregar condiciones con su respectivo bloque de codigo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">if</span> condicion1<br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo a ejecutar si condicion1 es verdadera</span><br />
<span style="color:#9966CC; font-weight:bold;">elsif</span> condicion2<br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo a ejecutar si condicion 1 es falsa y condicion2 verdadera</span><br />
<span style="color:#9966CC; font-weight:bold;">else</span><br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo si ninguna de las condiciones anteriores era verdadera</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>Por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">idioma = <span style="color:#996600;">&quot;es&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">if</span> idioma == <span style="color:#996600;">&quot;en&quot;</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Welcome to my website.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">elsif</span> idioma == <span style="color:#996600;">&quot;es&quot;</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Bienvenido a mi sitio.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">else</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Idioma desconocido.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<pre>Bienvenido a mi sitio.</pre>
<p>Ojo que es <i>elsif</i> y NO <i>elseif</i> como se podria esperar.</p>
<p>Otra cosa importante a notar es que se puede separar la condicion del codigo a ejecutar de tres formas diferentes, con una nueva linea como en los ejemplos, mediante el uso de la palabra clave <i>then(entonces)</i> luego de la condicion, o usando punto y coma.</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">idioma = <span style="color:#996600;">&quot;es&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">if</span> idioma == <span style="color:#996600;">&quot;en&quot;</span> <span style="color:#9966CC; font-weight:bold;">then</span> <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Welcome to my website.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">elsif</span> idioma == <span style="color:#996600;">&quot;es&quot;</span> <span style="color:#9966CC; font-weight:bold;">then</span> <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Bienvenido a mi sitio.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">else</span> <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Idioma desconocido.&quot;</span> <span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>La esctructura que obtenemos es &#8220;<i>si (condicion) entonces (codigo)</i>&#8220;. Como <i>else</i> no requiere condicion, se puede escribir el codigo junto sin necesidad de usar un separador, y el <i>end</i> tambien se puede agregar en la misma linea.</p>
<p>Y luego el tercer caso usando punto y coma.</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">idioma = <span style="color:#996600;">&quot;es&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">if</span> idioma == <span style="color:#996600;">&quot;en&quot;</span> ; <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Welcome to my website.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">elsif</span> idioma == <span style="color:#996600;">&quot;es&quot;</span> ; <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Bienvenido a mi sitio.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">else</span> <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Idioma desconocido.&quot;</span> <span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>Como nota, el uso de punto y coma en general se puede utilizar para escribir multiples lineas en una sola, por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">numero = <span style="color:#006666;">12</span> ; <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;El numero es #{numero}&quot;</span></div></div>
<pre>El numero es 12</pre>
<h3>Declaracion unless</h3>
<p>Esta declaracion que significa <i>&#8220;a menos que&#8221;</i> ejecuta un bloque de codigo si la condicion es falsa o nil.</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">unless</span> condicion<br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo a ejecutar si la condicion es falsa o nil</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>Por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">edad = <span style="color:#006666;">15</span><br />
<span style="color:#9966CC; font-weight:bold;">unless</span> edad <span style="color:#006600; font-weight:bold;">&gt;</span> <span style="color:#006666;">18</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;No puedes acceder a este sitio para mayores.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<pre>No puedes acceder a este sitio para mayores.</pre>
<h3>Declaracion unless&#8230;else</h3>
<p>Asi como <i>if</i>, <i>unless</i> tambien dispone de <i>else</i>.</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">unless</span> condicion<br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo a ejecutar si la condicion es falsa o nil</span><br />
<span style="color:#9966CC; font-weight:bold;">else</span><br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo a ejecutar si la condicion es verdadera</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>Por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">edad = <span style="color:#006666;">20</span><br />
<span style="color:#9966CC; font-weight:bold;">unless</span> edad <span style="color:#006600; font-weight:bold;">&gt;</span> <span style="color:#006666;">18</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;No puedes acceder a este sitio para mayores.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">else</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Bienvenido al sitio.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<pre>Bienvenido al sitio.</pre>
<h3>Modificadores para if y unless</h3>
<p>Ruby dispone de los llamados &#8220;<i>modifiers</i>&#8221; que permiten mover la estructura de control al final de la expresion, en esta entrada solo vere los modificadores de <i>if</i> y <i>unless</i> pero tambien hay para <i>while</i> y <i>until</i>, veamos la estructura.</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">codigo <span style="color:#9966CC; font-weight:bold;">if</span> condicion</div></div>
<p>La idea con <i>if</i> sigue siendo la misma, ejecutar el &#8220;codigo&#8221; si la condicion es verdadera, por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">puntaje = <span style="color:#006666;">75</span> <br />
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">'Aprobado.'</span> <span style="color:#9966CC; font-weight:bold;">if</span> puntaje <span style="color:#006600; font-weight:bold;">&gt;</span>= <span style="color:#006666;">60</span></div></div>
<pre>Aprobado.</pre>
<p>Para <i>unless</i> seria:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">puntaje = <span style="color:#006666;">75</span> <br />
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">'Aprobado.'</span> <span style="color:#9966CC; font-weight:bold;">unless</span> puntaje <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#006666;">60</span></div></div>
<pre>Aprobado.</pre>
<p>Esto nos permite poner el codigo de una forma un poco mas leible, este ultimo ejemplo se podria leer como &#8220;Escribir Aprobado a menos que el puntaje sea menor a 60&#8243;.</p>
<h3>Declaracion case</h3>
<p>Esta nos permite probar &#8220;casos&#8221; al comparar la expresion dada en &#8220;<i>case</i>&#8221; con las expresiones dadas en &#8220;<i>when</i>&#8221; y luego ejecutando el codigo correspondiente. En caso que ningun caso coincida se ejecuta el bloque de codigo bajo <i>else</i>:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">case</span> expr0<br />
<span style="color:#9966CC; font-weight:bold;">when</span> expr1, expr2<br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo a ejecutar si expr0 coindice con expr1 o expr2</span><br />
<span style="color:#9966CC; font-weight:bold;">when</span> expr3<br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo a ejecutar si expr0 coincide con expr3</span><br />
<span style="color:#9966CC; font-weight:bold;">else</span><br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo a ejecutar si no coindice con ningun caso</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>Por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">puntaje = <span style="color:#006666;">75</span><br />
<span style="color:#9966CC; font-weight:bold;">case</span> puntaje<br />
<span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#006666;">100</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Puntaje perfecto&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#006666;">80</span>..100<br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Excelente&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#006666;">60</span>..80<br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Aprobado&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">else</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Reprobado&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<pre>Aprobado</pre>
<p>En este ejemplo hay 3 casos definidos ademas del else, el primero compara &#8220;puntaje&#8221; con el valor 100, el siguiente con el rango de 80 a 100 y el tercero con el rango de 60 a 80. Cabe mencionar que cuando un <i>when</i> es exitoso los demas casos no son evaluados.</p>
<p>Tambien aprovecho de mencionar que al igual que en la estructura <i>if</i>, la expresion puede ser separada del codigo mediante una linea nueva, la palabra clave <i>then</i> o un punto y coma.</p>
<h3>Operador ternario</h3>
<p>Ruby tambien cuenta con el operador ternario que nos provee de un atajo para tomar decisiones, la estructura es la siguiente:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#006600; font-weight:bold;">&#40;</span> condicion <span style="color:#006600; font-weight:bold;">&#41;</span> ? expresion si verdadero : expresion si falso</div></div>
<p>La condicion es evaluada y devuelve &#8220;expresion si verdadero&#8221; cuando es verdadera y &#8220;expresion si falso&#8221; cuando es falsa, veamos un ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">edad = <span style="color:#006666;">17</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#006600; font-weight:bold;">&#40;</span> edad <span style="color:#006600; font-weight:bold;">&gt;</span>= <span style="color:#006666;">18</span> <span style="color:#006600; font-weight:bold;">&#41;</span> ? <span style="color:#996600;">&quot;Es mayor&quot;</span> : <span style="color:#996600;">&quot;No es mayor&quot;</span></div></div>
<pre>No es mayor</pre>
<p>El parentesis no es obligacion. Al evaluar &#8220;edad >=18&#8243; que resulta ser verdadero el operador ternario devuelve &#8220;Es mayor&#8221;, esto lo muestro en pantalla anteponiendo el metodo <i>puts</i>, tambien podria almacenar el resultado en una variable como:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">edad = <span style="color:#006666;">17</span><br />
es_o_no = <span style="color:#006600; font-weight:bold;">&#40;</span> edad <span style="color:#006600; font-weight:bold;">&gt;</span>= <span style="color:#006666;">18</span> <span style="color:#006600; font-weight:bold;">&#41;</span> ? <span style="color:#996600;">&quot;Es mayor&quot;</span> : <span style="color:#996600;">&quot;No es mayor&quot;</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> es_o_no</div></div>
<p>Que daria el mismo resultado, y asi acaba esta entrada.</p>
]]></content:encoded>
			<wfw:commentRss>http://r4ito.com/?feed=rss2&amp;p=461</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arrays en Ruby</title>
		<link>http://r4ito.com/?p=424</link>
		<comments>http://r4ito.com/?p=424#comments</comments>
		<pubDate>Sat, 19 Dec 2009 01:04:31 +0000</pubDate>
		<dc:creator>r4ito</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://r4ito.com/?p=424</guid>
		<description><![CDATA[En Ruby un array es una coleccion de referencias a objetos, la referencia se hace mediante un indice numerico entero. Comencemos viendo como crear un array.
Crear un array
Una de las formas de crear un Array en Ruby es usar square brackets(los corchetes), simplemente ponemos los elementos separados por coma(si es mas de uno):
lista1 = &#91; [...]]]></description>
			<content:encoded><![CDATA[<p>En Ruby un array es una coleccion de referencias a objetos, la referencia se hace mediante un indice numerico entero. Comencemos viendo como crear un array.</p>
<h3>Crear un array</h3>
<p>Una de las formas de crear un Array en Ruby es usar <i>square brackets(los corchetes)</i>, simplemente ponemos los elementos separados por coma(si es mas de uno):</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">lista1 = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># array vacio</span><br />
lista2 = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#006666;">1</span>, <span style="color:#006666;">3</span>, <span style="color:#006666;">5</span>, <span style="color:#006666;">7</span>, <span style="color:#006666;">11</span> <span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># array con elementos tipo Fixnum</span><br />
lista3 = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#006666;">8</span>, <span style="color:#996600;">'manzana'</span>, <span style="color:#006666;">3.14</span> <span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># con distintos tipos de objetos (Fixnum, String, Float)</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> lista1, lista2, lista3 <span style="color:#008000; font-style:italic;"># uso 'p' en vez de 'puts' para inspeccionar</span></div></div>
<pre>[]
[1, 3, 5, 7, 11]
[8, "manzana", 3.14]
</pre>
<p>Otra forma es usando Array.new:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">lista1 = <span style="color:#CC0066; font-weight:bold;">Array</span>.<span style="color:#9900CC;">new</span> <span style="color:#008000; font-style:italic;"># array vacio</span><br />
lista2 = <span style="color:#CC0066; font-weight:bold;">Array</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">5</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;"># array con 5 elementos</span><br />
lista3 = <span style="color:#CC0066; font-weight:bold;">Array</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">3</span>, <span style="color:#996600;">'test'</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;"># array con 3 elementos</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> lista1, lista2, lista3</div></div>
<pre>[]
[nil, nil, nil, nil, nil]
["test", "test", "test"]
</pre>
<p>Aca pueden notar que por defecto el array <i>lista2</i> se llena de objetos <i>nil</i> ya que no se le ha dado un valor por defecto como en <i>lista3</i>.</p>
<p>Tambien existe un atajo para crear un array con valores tipo String, por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">colores1 = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#996600;">'rojo'</span>, <span style="color:#996600;">'verde'</span>, <span style="color:#996600;">'azul'</span>, <span style="color:#996600;">'amarillo'</span> <span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># usando brackets</span><br />
colores2 = <span style="color:#006600; font-weight:bold;">%</span>w<span style="color:#006600; font-weight:bold;">&#123;</span> rojo verde azul amarillo <span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color:#008000; font-style:italic;"># usando el atajo %w</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores1, colores2</div></div>
<pre>["rojo", "verde", "azul", "amarillo"]
["rojo", "verde", "azul", "amarillo"]
</pre>
<p>Como ven son equivalentes, este atajo nos ahorra la tediosa tarea de escribir las comillas para cada elemento. </p>
<h3>Cantidad de elementos en un array</h3>
<p>Para conocer la cantidad de elementos en un array tenemos dos metodos, <i>size</i> y <i>length</i>:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">nada = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span><br />
nums = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">1</span>, <span style="color:#006666;">3</span>, <span style="color:#006666;">5</span>, <span style="color:#006666;">7</span><span style="color:#006600; font-weight:bold;">&#93;</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> nada.<span style="color:#9900CC;">size</span>, nums.<span style="color:#9900CC;">size</span> <span style="color:#008000; font-style:italic;"># tambien puedo usar 'length'</span></div></div>
<pre>0
4</pre>
<h3>Acceder a los objetos</h3>
<p>Para acceder a un elemento en particular se puede hacer mediante su indice, en ruby los indices parten desde 0:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">colores = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#996600;">'rojo'</span>, <span style="color:#996600;">'azul'</span>, <span style="color:#996600;">'verde'</span>, <span style="color:#996600;">'cafe'</span> <span style="color:#006600; font-weight:bold;">&#93;</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># el indice 0 corresponde al primer elemento</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">3</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># por tanto el indice 3 &nbsp;corresponde al ultimo elemento</span><br />
<span style="color:#008000; font-style:italic;"># al usar un indice negativo se cuenta desde el final</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># el ultimo elemento</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># el penultimo</span></div></div>
<pre>rojo
cafe
cafe
verde</pre>
<p>Tambien es posible acceder usando el formato <i>[inicio, cantidad]</i> como se muestra:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">colores = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#996600;">'rojo'</span>, <span style="color:#996600;">'azul'</span>, <span style="color:#996600;">'verde'</span>, <span style="color:#996600;">'cafe'</span> <span style="color:#006600; font-weight:bold;">&#93;</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span>,<span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># desde el indice 0 mostrar 2</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">1</span>,<span style="color:#006666;">3</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># desde el indice 1 mostrar 3</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">2</span>,<span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># desde el penultimo mostrar 2</span></div></div>
<pre>["rojo", "azul"]
["azul", "verde", "cafe"]
["verde", "cafe"]</pre>
<p>Una tercera forma es usando rangos, <i>[desde..hasta]</i> o <i>[desde...hasta]</i>, por si no se nota la diferencia es un punto. Al usar tres puntos, se excluye al ultimo elemento:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">colores = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#996600;">'rojo'</span>, <span style="color:#996600;">'azul'</span>, <span style="color:#996600;">'verde'</span>, <span style="color:#996600;">'cafe'</span> <span style="color:#006600; font-weight:bold;">&#93;</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span>..2<span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># desde elemento con indice 0 al con indice 2(incluido)</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span>...2<span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># desde elemento con indice 0 al con indice 2(excluido)</span><br />
<span style="color:#008000; font-style:italic;"># tambien se pueden usar numeros negativos aqui</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">2</span>..<span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># del penultimo al ultimo(incluido)</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span>...<span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># del primero al ultimo(excluido)</span></div></div>
<pre>["rojo", "azul", "verde"]
["rojo", "azul"]
["verde", "cafe"]
["rojo", "azul", "verde"]</pre>
<p>Y una forma mas es el uso de los metodos <i>first</i> y <i>last</i>:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">colores = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#996600;">'rojo'</span>, <span style="color:#996600;">'azul'</span>, <span style="color:#996600;">'verde'</span>, <span style="color:#996600;">'cafe'</span> <span style="color:#006600; font-weight:bold;">&#93;</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores.<span style="color:#9900CC;">first</span> <span style="color:#008000; font-style:italic;"># el primero</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores.<span style="color:#9900CC;">first</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">3</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;"># los primeros 3</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores.<span style="color:#9900CC;">last</span> <span style="color:#008000; font-style:italic;"># el ultimo</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores.<span style="color:#9900CC;">last</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;"># los ultimos 2</span></div></div>
<pre>"rojo"
["rojo", "azul", "verde"]
"cafe"
["verde", "cafe"]
</pre>
<h3>Modificar los objetos</h3>
<p>Para modificar un valor en particular:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">colores = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#996600;">'rojo'</span>, <span style="color:#996600;">'azul'</span>, <span style="color:#996600;">'verde'</span>, <span style="color:#996600;">'cafe'</span> <span style="color:#006600; font-weight:bold;">&#93;</span><br />
colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#93;</span> = <span style="color:#996600;">'naranja'</span> <span style="color:#008000; font-style:italic;"># cambio el tercer valor</span><br />
colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span> = <span style="color:#996600;">'amarillo'</span> <span style="color:#008000; font-style:italic;"># y el ultimo</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores</div></div>
<pre>["rojo", "azul", "naranja", "amarillo"]</pre>
<p>Tambien puedo usar el mismo formato <i>[indice, largo]</i> para modificar el array:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">colores = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#996600;">'rojo'</span>, <span style="color:#996600;">'azul'</span>, <span style="color:#996600;">'verde'</span>, <span style="color:#996600;">'cafe'</span> <span style="color:#006600; font-weight:bold;">&#93;</span><br />
colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">1</span>,<span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#93;</span> = <span style="color:#996600;">'naranja'</span> <span style="color:#008000; font-style:italic;"># dos elementos a partir del indice 1</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores</div></div>
<pre>["rojo", "naranja", "cafe"]</pre>
<p>Pueden notar que en este caso se redujo el tamaño del array, esto es porque indique que los dos valores a partir del indice 1 se vieran reemplazados por un solo valor &#8216;naranja&#8217;, si quisiera mantener la cantidad deberia usar un array como en el siguiente ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">colores = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#996600;">'rojo'</span>, <span style="color:#996600;">'azul'</span>, <span style="color:#996600;">'verde'</span>, <span style="color:#996600;">'cafe'</span> <span style="color:#006600; font-weight:bold;">&#93;</span><br />
colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">1</span>,<span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#93;</span> = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'naranja'</span>, <span style="color:#996600;">'amarillo'</span><span style="color:#006600; font-weight:bold;">&#93;</span> <br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores</div></div>
<pre>["rojo", "naranja", "amarillo", "cafe"]</pre>
<p>Ahora si los dos valores centrales fueron reemplazados por dos nuevos valores. Tambien se podria incrementar el tamaño del array si se quiere:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">colores = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#996600;">'rojo'</span>, <span style="color:#996600;">'azul'</span>, <span style="color:#996600;">'verde'</span>, <span style="color:#996600;">'cafe'</span> <span style="color:#006600; font-weight:bold;">&#93;</span><br />
colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">1</span>,<span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#93;</span> = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'naranja'</span>, <span style="color:#996600;">'amarillo'</span>, <span style="color:#996600;">'gris'</span><span style="color:#006600; font-weight:bold;">&#93;</span> <br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores</div></div>
<pre>["rojo", "naranja", "amarillo", "gris", "cafe"]</pre>
<p>En este caso indique que los dos valores a partir del indice 1 se vieran reemplazados por 3 valores nuevos, esto hizo que el valor &#8216;cafe&#8217; se desplazara una posicion a la derecha aumentando el tamaño del array.</p>
<p>Esto mismo se puede hacer con los rangos vistos antes, por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">colores = <span style="color:#006600; font-weight:bold;">&#91;</span> <span style="color:#996600;">'rojo'</span>, <span style="color:#996600;">'azul'</span>, <span style="color:#996600;">'verde'</span>, <span style="color:#996600;">'cafe'</span> <span style="color:#006600; font-weight:bold;">&#93;</span><br />
colores<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span>..2<span style="color:#006600; font-weight:bold;">&#93;</span> = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'naranja'</span>, <span style="color:#996600;">'amarillo'</span>, <span style="color:#996600;">'gris'</span><span style="color:#006600; font-weight:bold;">&#93;</span> <br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores</div></div>
<pre>["naranja", "amarillo", "gris", "cafe"]</pre>
<p>Aqui el rango indica modificar los primeros tres valores(indices 0 a 2) por tres nuevos valores, por lo que el tamaño del array queda intacto.</p>
<h3>Array como una pila (stack, <a href='http://es.wikipedia.org/wiki/LIFO' target='_blank'>LIFO</a>)</h3>
<p>Existen dos metodos que permiten agregar y eliminar elementos desde el final de un array, estos son <i>push</i> y <i>pop</i> respectivamente, veamos un ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">pila = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># comienzo con un array vacio</span><br />
pila.<span style="color:#9900CC;">push</span> <span style="color:#996600;">'uno'</span> <br />
pila.<span style="color:#9900CC;">push</span> <span style="color:#996600;">'dos'</span><br />
pila.<span style="color:#9900CC;">push</span> <span style="color:#996600;">'tres'</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores <span style="color:#008000; font-style:italic;"># a esta altura tiene 3 elementos</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> pila.<span style="color:#9900CC;">pop</span> <span style="color:#008000; font-style:italic;"># voy quitando desde el ultimo</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> pila.<span style="color:#9900CC;">pop</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> pila.<span style="color:#9900CC;">pop</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores</div></div>
<pre>["uno", "dos", "tres"]
tres
dos
uno
[]</pre>
<p>El array que comenzo vacio termino vacio debido a que use el metodo <i>pop</i> tres veces, utilize <i>puts</i> para verificar el elemento que es eliminado cada vez que utilizo <i>pop</i>.</p>
<h3>Arrays como una cola (queue <a href='http://es.wikipedia.org/wiki/FIFO' target='_blank'>FIFO</a>)</h3>
<p>Tambien existen dos metodos para agregar y remover desde el inicio de un array, estos son <i>unshift</i> y <i>shift</i>, veamos un ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">colores = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#008000; font-style:italic;"># comienzo con un array vacio</span><br />
colores.<span style="color:#9900CC;">unshift</span> <span style="color:#996600;">'azul'</span> <br />
colores.<span style="color:#9900CC;">unshift</span> <span style="color:#996600;">'verde'</span><br />
colores.<span style="color:#9900CC;">unshift</span> <span style="color:#996600;">'rojo'</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores <span style="color:#008000; font-style:italic;"># a esta altura tiene 3 elementos</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> colores.<span style="color:#9900CC;">shift</span> <span style="color:#008000; font-style:italic;"># voy quitando el primero</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> colores.<span style="color:#9900CC;">shift</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> colores.<span style="color:#9900CC;">shift</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> colores</div></div>
<pre>["rojo", "verde", "azul"]
rojo
verde
azul
[]</pre>
<p>Como ven el array resultante es inverso al del ejemplo anterior, pues los nuevos elementos son agregados al inicio del array. </p>
<p>Ahora, para obtener el comportamiento de una <i>cola(queue)</i> es necesario combinar <i>push</i> que agrega los elemento al final y <i>shift</i> que elimina desde el inicio:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cola = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span><br />
cola.<span style="color:#9900CC;">push</span> <span style="color:#996600;">'cliente1'</span><br />
cola.<span style="color:#9900CC;">push</span> <span style="color:#996600;">'cliente2'</span><br />
cola.<span style="color:#9900CC;">push</span> <span style="color:#996600;">'cliente3'</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> cola <span style="color:#008000; font-style:italic;"># el que llego ultimo queda al ultimo</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> cola.<span style="color:#9900CC;">shift</span> <span style="color:#008000; font-style:italic;"># el que llego primero se va primero</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> cola.<span style="color:#9900CC;">shift</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> cola.<span style="color:#9900CC;">shift</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> cola</div></div>
<pre>["cliente1", "cliente2", "cliente3"]
cliente1
cliente2
cliente3
[]</pre>
<p>Eso seria por esta entrada, para saber mas sobre arrays pueden visitar la <a href='http://ruby-doc.org/ruby-1.9/classes/Array.html' target='_blank'>documentacion</a> sobre Arrays para Ruby 1.9.</p>
]]></content:encoded>
			<wfw:commentRss>http://r4ito.com/?feed=rss2&amp;p=424</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Jōyō Kanjis separados por grados</title>
		<link>http://r4ito.com/?p=419</link>
		<comments>http://r4ito.com/?p=419#comments</comments>
		<pubDate>Fri, 18 Dec 2009 22:23:08 +0000</pubDate>
		<dc:creator>r4ito</dc:creator>
				<category><![CDATA[Japonés]]></category>
		<category><![CDATA[Jōyō kanjis]]></category>
		<category><![CDATA[kanji]]></category>

		<guid isPermaLink="false">http://r4ito.com/?p=419</guid>
		<description><![CDATA[Documentos en español con los kanjis separados en los grados escolares (1 a 6 primaria y 7A, 7B, 7C secundaria), en la imagen la primera pagina del primer grado.

Descargar archivo
Tamaño: 1.7 mb &#124; Formato: .zip -> .pdf(9)
Desconozco el creador de estos documentos, si alguien lo sabe le agradezco si me lo indica.
Saludos.
]]></description>
			<content:encoded><![CDATA[<p>Documentos en español con los kanjis separados en los grados escolares (1 a 6 primaria y 7A, 7B, 7C secundaria), en la imagen la primera pagina del primer grado.</p>
<p><center><img src='docs/jpn/grados_kanjis.png'></center></p>
<p class='dl'><a href='http://www.mediafire.com/?5wzgazogkjg' target='_blank'>Descargar archivo</a><br />
Tamaño: 1.7 mb | Formato: .zip -> .pdf(9)</p>
<p>Desconozco el creador de estos documentos, si alguien lo sabe le agradezco si me lo indica.</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://r4ito.com/?feed=rss2&amp;p=419</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>NHK &#8211; lecciones de Japones en audio</title>
		<link>http://r4ito.com/?p=410</link>
		<comments>http://r4ito.com/?p=410#comments</comments>
		<pubDate>Wed, 16 Dec 2009 18:35:51 +0000</pubDate>
		<dc:creator>r4ito</dc:creator>
				<category><![CDATA[Japonés]]></category>
		<category><![CDATA[curso audio]]></category>
		<category><![CDATA[curso japones]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[nhk]]></category>

		<guid isPermaLink="false">http://r4ito.com/?p=410</guid>
		<description><![CDATA[Actualmente la NHK dispone de un curso con 100 lecciones de audio llamado &#8220;Hablemos en Japonés&#8221; que se puede descargar directamente desde su pagina en formato mp3 junto con un pdf con los dialogos, palabras claves y explicaciones, asi que hagan click en la imagen para visitar este curso:

Anteriormente tenian un curso de 126 lecciones [...]]]></description>
			<content:encoded><![CDATA[<p>Actualmente la NHK dispone de un curso con 100 lecciones de audio llamado &#8220;Hablemos en Japonés&#8221; que se puede descargar directamente desde su pagina en formato mp3 junto con un pdf con los dialogos, palabras claves y explicaciones, asi que hagan click en la imagen para visitar este curso:</p>
<p><center><a href='http://www.nhk.or.jp/lesson/spanish/learn/story/index.html' target='_blank'><img src='docs/jpn/nhk.png'></a></center></p>
<p>Anteriormente tenian un curso de 126 lecciones en audio que venian con unas imagenes gif para las palabras claves, para aquellos que quieran tener este curso anterior lo pueden descargar a continuacion:</p>
<p class='dl'><a href='http://www.mediafire.com/?cmmko91zx42' target='_new'>Descargar curso de audio</a><br />
Tamaño: 139 mb | Formato: .rar -> .mp3</p>
<p>Agradecimientos a la nhk por brindarnos este curso y tambien a fix de <a href='http://fxanime.com' target='_new'>fxanime</a> por corregir los archivos.</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://r4ito.com/?feed=rss2&amp;p=410</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
		<item>
		<title>Subir archivos a mediafire en GNU/Linux</title>
		<link>http://r4ito.com/?p=405</link>
		<comments>http://r4ito.com/?p=405#comments</comments>
		<pubDate>Tue, 15 Dec 2009 02:41:17 +0000</pubDate>
		<dc:creator>r4ito</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>

		<guid isPermaLink="false">http://r4ito.com/?p=405</guid>
		<description><![CDATA[Mediafire es el servicio de hosting para archivos que utilizo porque se que mis documentos no seran borrados tan solo entrando a mi cuenta de vez en cuando, lamentablemente el uploader actual no funciona muy bien en GNU/Linux, si tambien te sucede puedes intentar la siguiente solucion que consiste en usar el Firefox de Windows [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://mediafire.com' target='_blank'>Mediafire</a> es el servicio de hosting para archivos que utilizo porque se que mis documentos no seran borrados tan solo entrando a mi cuenta de vez en cuando, lamentablemente el uploader actual no funciona muy bien en GNU/Linux, si tambien te sucede puedes intentar la siguiente solucion que consiste en usar el Firefox de Windows con el Flash de windows a traves de Wine.</p>
<p>1.- Primero necesitas tener instalado Wine, en muchas distros ya viene, para comprobar si ya lo tienes instalado escribir en el terminal:</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">wine --version</div></div>
<p>Si lo tienes instalado te mostrara algo similar a:</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">wine-1.1.32</div></div>
<p>Si no es asi, probablemente este en los repositorios asi que a revisar e instalar!</p>
<p>2.- Ir a la pagina de <a href='http://www.mozilla.com/en-US/firefox/all.html' target='_blank'>Firefox</a> y descargar la version para windows.</p>
<p>3.- Despues de instalarlo con Wine, abrirlo y dirigirse a la pagina de <a href='http://get.adobe.com/flashplayer/' target='_blank'>adobe para descargar flash</a>. Den en &#8216;Descargar&#8217; o &#8216;Download&#8217; en vez de usar el sistema de plugin de Firefox, una vez que descarguen el archivo &#8216;install_flash_player.exe&#8217; cierren Firefox e instalenlo.</p>
<p>Eso es todo, luego pueden ir a mediafire y subir archivos sin problemas, aca una screenshot de mi pc:<br />
<a href='docs/linux/mediafire_ok.png' target='_blank'><img src='docs/linux/mediafire_ok.png' width='100%'></a></p>
<p>Si tienen otra solucion, estaria agradecido de conocerla, saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://r4ito.com/?feed=rss2&amp;p=405</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Hojas de ejercicios Hiragana y Katakana</title>
		<link>http://r4ito.com/?p=398</link>
		<comments>http://r4ito.com/?p=398#comments</comments>
		<pubDate>Mon, 14 Dec 2009 23:25:10 +0000</pubDate>
		<dc:creator>r4ito</dc:creator>
				<category><![CDATA[Japonés]]></category>
		<category><![CDATA[hiragana]]></category>
		<category><![CDATA[katakana]]></category>

		<guid isPermaLink="false">http://r4ito.com/?p=398</guid>
		<description><![CDATA[Son dos documentos pdf para practicar el Hiragana y Katakana, click en la imagen para ver como son las hojas.

Hoja de ejercicios Hiragana
Tamaño: 814 kb &#124; Formato: .pdf &#124; Paginas: 10
Hoja de ejercicios Katakana
Tamaño: 670 kb &#124; Formato: .pdf &#124; Paginas: 10
Este archivo fue hecho por Juan José Ferres Serrano.
Saludos.
]]></description>
			<content:encoded><![CDATA[<p>Son dos documentos pdf para practicar el Hiragana y Katakana, click en la imagen para ver como son las hojas.</p>
<p><center><a href='docs/jpn/hiragana_ej_f.png' target='_blank'><img src='docs/jpn/hiragana_ej.png'></a></center></p>
<p class='dl'><a href='http://www.mediafire.com/?wmyjiz0zdmq' target='_new'>Hoja de ejercicios Hiragana</a><br />
Tamaño: 814 kb | Formato: .pdf | Paginas: 10</p>
<p class='dl'><a href='http://www.mediafire.com/?lemlymenmnm' target='_new'>Hoja de ejercicios Katakana</a><br />
Tamaño: 670 kb | Formato: .pdf | Paginas: 10</p>
<p>Este archivo fue hecho por Juan José Ferres Serrano.</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://r4ito.com/?feed=rss2&amp;p=398</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Tool para plugin External Tools de gedit &#8211; Ejecutar codigo Ruby</title>
		<link>http://r4ito.com/?p=381</link>
		<comments>http://r4ito.com/?p=381#comments</comments>
		<pubDate>Fri, 27 Nov 2009 23:12:06 +0000</pubDate>
		<dc:creator>r4ito</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[external tools]]></category>
		<category><![CDATA[gedit]]></category>
		<category><![CDATA[GNU/Linux]]></category>

		<guid isPermaLink="false">http://r4ito.com/?p=381</guid>
		<description><![CDATA[El editor de texto por defecto para el escritorio gnome (GNU/Linux) llamado gedit tiene un plugin llamado &#8216;External Tools&#8217; que permite ejecutar comandos externos y shell scripts, estaba buscando algun tool que con apretar una tecla ejecutara el codigo Ruby (asi como el F5 en el editor Geany) pero no encontre, por lo que investigue [...]]]></description>
			<content:encoded><![CDATA[<p>El editor de texto por defecto para el escritorio gnome (GNU/Linux) llamado <a href='http://projects.gnome.org/gedit/' target='_new'>gedit</a> tiene un plugin llamado &#8216;External Tools&#8217; que permite ejecutar comandos externos y shell scripts, estaba buscando algun tool que con apretar una tecla ejecutara el codigo Ruby (asi como el F5 en el editor Geany) pero no encontre, por lo que investigue un poco e hice uno:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/bin/sh</span><br />
<span style="color: #007800;">FILE</span>=<span style="color: #ff0000;">&quot;gedit_<span style="color: #007800;">${GEDIT_CURRENT_DOCUMENT_NAME}</span>~&quot;</span><br />
<span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'$s/$/\ngets/'</span> &nbsp;<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$FILE</span><br />
gnome-terminal &nbsp;<span style="color: #660033;">--command</span>=<span style="color: #ff0000;">&quot;ruby <span style="color: #007800;">${FILE}</span>&quot;</span></div></div>
<pre>Input: Current document
Output: Display in bottom panel
Applicability: All documents</pre>
<p>Lo que hace es copiar el texto actual del documento (inclusive lo que no se ha guardado) mas una nueva linea y un gets a un documento oculto que comienza con gedit_, luego ejecuta ese documento en la consola.<br />
<a href='./docs/ruby/gedit.png' target='_blank'><img src='./docs/ruby/gedit.png' width=99%></a><br />
Ahi lo dejo por si alguien usa gedit para practicar Ruby, saludos..</p>
]]></content:encoded>
			<wfw:commentRss>http://r4ito.com/?feed=rss2&amp;p=381</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Metodos en Ruby</title>
		<link>http://r4ito.com/?p=358</link>
		<comments>http://r4ito.com/?p=358#comments</comments>
		<pubDate>Fri, 27 Nov 2009 22:25:48 +0000</pubDate>
		<dc:creator>r4ito</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://r4ito.com/?p=358</guid>
		<description><![CDATA[Los metodos son subrutinas asociadas a clases o objetos, &#8217;similares&#8217; a lo que se conoce como funciones en otros lenguajes. 
Metodo simple sin parametros
La estructura es como sigue:
def nombre_metodo
&#160; &#160;# codigo
end
nombre_metodo #Aqui estaria llamando el metodo
Por ejemplo:
def saludar
&#160; &#160;puts 'Hola que tal'
end
saludar # no es obligacion usar parentesis, ej: saludar()
Hola que tal
Metodo simple con parametros
Se [...]]]></description>
			<content:encoded><![CDATA[<p>Los metodos son subrutinas asociadas a clases o objetos, &#8217;similares&#8217; a lo que se conoce como funciones en otros lenguajes. </p>
<h3>Metodo simple sin parametros</h3>
<p>La estructura es como sigue:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> nombre_metodo<br />
&nbsp; &nbsp;<span style="color:#008000; font-style:italic;"># codigo</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
nombre_metodo <span style="color:#008000; font-style:italic;">#Aqui estaria llamando el metodo</span></div></div>
<p>Por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> saludar<br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">'Hola que tal'</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
saludar <span style="color:#008000; font-style:italic;"># no es obligacion usar parentesis, ej: saludar()</span></div></div>
<pre>Hola que tal</pre>
<h3>Metodo simple con parametros</h3>
<p>Se puede definir un metodo que acepte parametros de la siguiente forma:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> sumar<span style="color:#006600; font-weight:bold;">&#40;</span>a, b<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;La suma es #{a + b}.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
sumar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">2</span>, <span style="color:#006666;">3</span><span style="color:#006600; font-weight:bold;">&#41;</span></div></div>
<pre>La suma es 5.</pre>
<p>Aca tampoco son obligacion los parentesis tanto en la definicion del metodo como al llamarlo, se podria escribir:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> sumar a, b<br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;La suma es #{a + b}.&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
sumar <span style="color:#006666;">2</span>, <span style="color:#006666;">3</span></div></div>
<h3>Valor de retorno</h3>
<p>Los metodos devuelven el valor de la ultima expresion evaluada, por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> sumar<span style="color:#006600; font-weight:bold;">&#40;</span>a, b<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp;a <span style="color:#006600; font-weight:bold;">+</span> b<br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> sumar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">2</span>, <span style="color:#006666;">3</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;"># uso puts para mostrar el valor de retorno del metodo</span><br />
var = sumar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">5</span>, <span style="color:#006666;">4</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;"># var valdra 9</span></div></div>
<pre>5</pre>
<p>Es posible poner de forma explicita el retorno usando &#8216;return&#8217;:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> sumar<span style="color:#006600; font-weight:bold;">&#40;</span>a, b<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp;<span style="color:#0000FF; font-weight:bold;">return</span> a <span style="color:#006600; font-weight:bold;">+</span> b<br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> sumar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">2</span>, <span style="color:#006666;">4</span><span style="color:#006600; font-weight:bold;">&#41;</span></div></div>
<p>Incluso hacer que el metodo devuelva multiples valores,</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> sumar<span style="color:#006600; font-weight:bold;">&#40;</span>a, b<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp;suma = a <span style="color:#006600; font-weight:bold;">+</span> b<br />
&nbsp; &nbsp;<span style="color:#0000FF; font-weight:bold;">return</span> a, b, suma<br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> sumar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">2</span>, <span style="color:#006666;">4</span><span style="color:#006600; font-weight:bold;">&#41;</span></div></div>
<pre>2
4
6</pre>
<h3>Uso de parentesis al utilizar el valor de retorno</h3>
<p>Cuando queramos utilizar de inmediato el valor de retorno de un metodo, es necesario el uso de parentesis, por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> saludar<span style="color:#006600; font-weight:bold;">&#40;</span>nombre<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp;<span style="color:#996600;">&quot;hola #{nombre}!&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> saludar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'visitante'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">upcase</span> <span style="color:#008000; font-style:italic;">#aca upcase se aplica al resultado del metodo</span></div></div>
<pre>HOLA VISITANTE!</pre>
<p>Si no usara parentesis:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> saludar<span style="color:#006600; font-weight:bold;">&#40;</span>nombre<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp;<span style="color:#996600;">&quot;hola #{nombre}!&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> saludar <span style="color:#996600;">'visitante'</span>.<span style="color:#9900CC;">upcase</span> <span style="color:#008000; font-style:italic;">#aca se aplica a 'visitante' y no al retorno</span></div></div>
<pre>hola VISITANTE!</pre>
<h3>Definir valores por defecto</h3>
<p>Podemos definir valores por defecto para algunos parametros:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> mostrar<span style="color:#006600; font-weight:bold;">&#40;</span>var1, var2 = <span style="color:#996600;">'valor2'</span>, var3 = <span style="color:#996600;">'valor3'</span><span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;#{var1}, #{var2}, #{var3}&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
mostrar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'a'</span>, <span style="color:#996600;">'b'</span>, <span style="color:#996600;">'c'</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;"># paso todos los valores</span><br />
mostrar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'hola'</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;"># paso solo 1</span></div></div>
<pre>a, b, c
hola, valor2, valor3</pre>
<p>Aquellos parametros que tengan valores por defecto deben ir todos a un mismo lado, en el ejemplo todos a la derecha.</p>
<h3>Numero de argumentos variables</h3>
<p>El ultimo (o unico) parametro de un metodo puede ir precedido de un asterisco(*) para indicar que mas parametros seran pasados. Estos parametros son almacenados en un array(lista), por ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> cuantos<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">*</span>nums<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp;nums<br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#CC0066; font-weight:bold;">p</span> cuantos<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">38</span>, <span style="color:#006666;">45</span>, <span style="color:#006666;">23</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#008000; font-style:italic;"># uso p en vez de puts para que se note el array</span></div></div>
<pre>[38, 45, 23]</pre>
<p>Otro ejemplo:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> cuantos<span style="color:#006600; font-weight:bold;">&#40;</span>a, b, <span style="color:#006600; font-weight:bold;">*</span>otros<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">p</span> otros<br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> a, b, otros.<span style="color:#9900CC;">size</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
cuantos<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">38</span>, <span style="color:#006666;">45</span>, <span style="color:#006666;">23</span>, <span style="color:#006666;">12</span>, <span style="color:#006666;">28</span>, <span style="color:#006666;">34</span><span style="color:#006600; font-weight:bold;">&#41;</span></div></div>
<pre>[12, 28, 34]
38
45
4</pre>
<p>Si queremos pasar los valores de un array como parametros podemos hacerlo asi:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">def</span> cuantos<span style="color:#006600; font-weight:bold;">&#40;</span>a, b, <span style="color:#006600; font-weight:bold;">*</span>otros<span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">p</span> a, b, otros<br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
lista = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">3</span>, <span style="color:#006666;">4</span>, <span style="color:#006666;">5</span>, <span style="color:#006666;">6</span>, <span style="color:#006666;">7</span>, <span style="color:#006666;">8</span><span style="color:#006600; font-weight:bold;">&#93;</span><br />
cuantos<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">*</span>lista<span style="color:#006600; font-weight:bold;">&#41;</span></div></div>
<pre>3
4
[5, 6, 7, 8]</pre>
<p>Al usar el * delante del nombre del array este es expandido y sus valores son pasados como si estuvieran separados por una coma, de esta forma los dos primeros valores son asignados a &#8216;a&#8217; y &#8216;b&#8217; respectivamente y el resto a &#8216;otros&#8217;.</p>
<p>The end~</p>
]]></content:encoded>
			<wfw:commentRss>http://r4ito.com/?feed=rss2&amp;p=358</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->
