<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3481566482652933814</id><updated>2011-12-19T22:30:03.868-03:00</updated><category term='while'/><category term='loop'/><category term='Condicionales'/><category term='MySQL'/><category term='Ciclos_Repetitivos'/><category term='Javascript'/><category term='Comentarios'/><category term='Rangos'/><category term='C'/><category term='Arrays'/><category term='Programación'/><category term='Métodos'/><category term='Utilidades'/><category term='Hashes'/><category term='Ebook'/><category term='C++'/><category term='PHP'/><category term='Diversión'/><category term='Constantes'/><category term='Operadores'/><category term='Ruby'/><category term='Palabras_Reservadas'/><category term='Manuales'/><category term='else'/><category term='Variables'/><category term='HTML'/><category term='Control_de_Flujo'/><category term='Accesores'/><category term='Clases'/><category term='Apache'/><category term='Cadenas'/><category term='Pseudovariables'/><category term='if'/><category term='Videojuegos'/><category term='Símbolos'/><title type='text'>Ruby: Lenguaje Orientado a Objetos</title><subtitle type='html'>Información en Español del Lenguaje de Programación RUBY, y temas de todo tipo...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>46</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-9047620069735359735</id><published>2009-11-22T18:59:00.003-03:00</published><updated>2009-11-22T19:03:33.070-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Aprende a Crear un Juego de Navegador</title><content type='html'>&lt;div style="text-align: justify;"&gt;En la siguiente página web se está comenzando un tutorial para &lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;Aprender a hacer juegos de Navegador con PHP y MySQL&lt;/span&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Espero que visiten este sitio y apoyen en su desarrollo, ya que es la ÚNICA fuente en español que tendremos al respecto.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;a href="http://juegodenavegador.wordpress.com"&gt;Crea un Juego de Navegador con PHP y MySQL&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-9047620069735359735?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/9047620069735359735/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/11/aprende-crear-un-juego-de-navegador.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/9047620069735359735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/9047620069735359735'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/11/aprende-crear-un-juego-de-navegador.html' title='Aprende a Crear un Juego de Navegador'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-568126416159872762</id><published>2009-11-11T17:17:00.004-03:00</published><updated>2009-11-11T17:38:19.250-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Refactoring Ruby Edition</title><content type='html'>&lt;div style="text-align: center;"&gt;Nuevo Libro acerca del lenguaje Ruby en inglés directo para descargar y digerir.&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/_PtkhTsQefnw/SvsdYr_DEXI/AAAAAAAAAH8/TYaMgBHegYE/s400/Refactoring+Ruby+Edition.jpeg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 229px; height: 300px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5402944487922274674" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="color: rgb(153, 153, 153);   line-height: 18px; font-family:'Trebuchet MS', arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Addison-Wesley Professional | 2009 | ISBN: 0321603508 | 480 pages | PDF | 3,29 MB&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"    style="font-family:'Trebuchet MS', arial;font-size:100%;color:#999999;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"   style="font-family:'Trebuchet MS', arial;color:#999999;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px; "&gt;&lt;a href="http://www.mediafire.com/?m4e4jmz0tyi"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;DESCARGAR&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"   style="font-family:'Trebuchet MS', arial;color:#999999;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px; "&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Descarga por &lt;/span&gt;&lt;a href="http://www.mediafire.com/"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Mediafire&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-568126416159872762?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/568126416159872762/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/11/refactoring-ruby-edition.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/568126416159872762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/568126416159872762'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/11/refactoring-ruby-edition.html' title='Refactoring Ruby Edition'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PtkhTsQefnw/SvsdYr_DEXI/AAAAAAAAAH8/TYaMgBHegYE/s72-c/Refactoring+Ruby+Edition.jpeg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-8559873824900393927</id><published>2009-08-21T13:01:00.003-04:00</published><updated>2009-08-21T13:16:49.847-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Manuales'/><title type='text'>Libros de RUBY</title><content type='html'>&lt;div align="center"&gt;Dejo unos pocos libros de RUBY (en inglés) para que sigan avanzando en el estudio:&lt;br /&gt;&lt;br /&gt;1. &lt;a href="http://www.mediafire.com/?1yxyhmtlnvj"&gt;&lt;strong&gt;Book Of Ruby&lt;/strong&gt;&lt;/a&gt;:&lt;br /&gt;&lt;strong&gt;Formato:&lt;/strong&gt; PDF y otros.&lt;br /&gt;&lt;strong&gt;Detalle:&lt;/strong&gt; Incluye los ejercicios que aparecen en él.&lt;br /&gt;&lt;br /&gt;2. &lt;a href="http://www.mediafire.com/?0tyey5ohimj"&gt;&lt;strong&gt;Humble Little RUBY Book:&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Fromato:&lt;/strong&gt; PDF&lt;br /&gt;&lt;br /&gt;3. &lt;a href="http://www.mediafire.com/?t2zrnzihoyy"&gt;&lt;strong&gt;Little Book of RUBY:&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Formato:&lt;/strong&gt; PDF&lt;br /&gt;&lt;br /&gt;4. &lt;a href="http://www.mediafire.com/?d0boyyotzmj"&gt;&lt;strong&gt;RUBY In Steel Manual:&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;strong&gt;Formato:&lt;/strong&gt; PDF &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-8559873824900393927?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/8559873824900393927/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/08/libros-de-ruby.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/8559873824900393927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/8559873824900393927'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/08/libros-de-ruby.html' title='Libros de RUBY'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-7426132296419967463</id><published>2009-08-07T15:40:00.002-04:00</published><updated>2009-08-07T15:43:02.351-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Manuales'/><title type='text'>Creación de un Portal con PHP y MySQL</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;&lt;a href="http://www.mediafire.com/?jify222tgww"&gt;DESCARGAR&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Descarga por &lt;a href="http://www.mediafire.com/"&gt;Mediafire&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Muy buen manual, con muchos contenidos.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-7426132296419967463?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/7426132296419967463/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/08/creacion-de-un-portal-con-php-y-mysql.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/7426132296419967463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/7426132296419967463'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/08/creacion-de-un-portal-con-php-y-mysql.html' title='Creación de un Portal con PHP y MySQL'/><author><name>Todo Ruby</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-3841514457323467841</id><published>2009-07-01T13:45:00.002-04:00</published><updated>2009-07-01T13:49:06.580-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Manuales'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Manual Imprescindible para todos - PHP5</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_PtkhTsQefnw/SkuhdoAEBAI/AAAAAAAAAH0/QPn2wP3D97k/s1600-h/Manual+imprescindible+de+PHP+5.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 272px; DISPLAY: block; HEIGHT: 312px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5353550112385926146" border="0" alt="" src="http://4.bp.blogspot.com/_PtkhTsQefnw/SkuhdoAEBAI/AAAAAAAAAH0/QPn2wP3D97k/s400/Manual+imprescindible+de+PHP+5.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div align="justify"&gt;Un extraordinario manual de PHP5 ideal para iniciarse en el mundo de la programación web avanzada.&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-size:180%;"&gt;&lt;a href="http://www.mediafire.com/?mmnwowk1jyz"&gt;DESCARGAR&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:78%;"&gt;Descarga por &lt;a href="http://www.mediafire.com/"&gt;Mediafire&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-3841514457323467841?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/3841514457323467841/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/07/manual-imprescindible-para-todos-php5.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/3841514457323467841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/3841514457323467841'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/07/manual-imprescindible-para-todos-php5.html' title='Manual Imprescindible para todos - PHP5'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_PtkhTsQefnw/SkuhdoAEBAI/AAAAAAAAAH0/QPn2wP3D97k/s72-c/Manual+imprescindible+de+PHP+5.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-5861903751955192245</id><published>2009-07-01T12:12:00.003-04:00</published><updated>2009-07-01T12:19:53.607-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diversión'/><category scheme='http://www.blogger.com/atom/ns#' term='Videojuegos'/><title type='text'>War Chess (PC FULL)</title><content type='html'>&lt;div align="justify"&gt;&lt;a href="http://1.bp.blogspot.com/_PtkhTsQefnw/SkuLZD_LS0I/AAAAAAAAAHs/0xFLdH3IKyg/s1600-h/WarChess3DAjedrezBOX.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 280px; DISPLAY: block; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5353525844743244610" border="0" alt="" src="http://1.bp.blogspot.com/_PtkhTsQefnw/SkuLZD_LS0I/AAAAAAAAAHs/0xFLdH3IKyg/s400/WarChess3DAjedrezBOX.jpg" /&gt;&lt;/a&gt; Descarga el juego WarChess, una interesante plataforma donde puedes divertirte viendo las animaciones mientras juegas una interesante partida de ajedrez.&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:180%;"&gt;&lt;a href="http://www.mediafire.com/?ymz3uzmjtzj"&gt;DESCARGAR&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:78%;"&gt;Descarga por &lt;a href="http://www.mediafire.com/"&gt;Mediafire&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-5861903751955192245?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/5861903751955192245/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/07/war-chess-pc-full.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5861903751955192245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5861903751955192245'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/07/war-chess-pc-full.html' title='War Chess (PC FULL)'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_PtkhTsQefnw/SkuLZD_LS0I/AAAAAAAAAHs/0xFLdH3IKyg/s72-c/WarChess3DAjedrezBOX.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-3287667206084483922</id><published>2009-06-28T21:08:00.004-04:00</published><updated>2009-06-28T21:20:30.737-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>Instalar PHP, Servidor Apache y MySQL</title><content type='html'>&lt;div align="justify"&gt;Sin duda genera muchos problemas instalar PHP y todos los componentes para que funcione perfectamente. Gracias a &lt;a href="http://www.wampserver.com/"&gt;WampServer&lt;/a&gt; podemos hacerlo con unos pocos Clicks.&lt;br /&gt;&lt;br /&gt;WampServer tiene todo lo que necesitas, sólo ejecutas el instalador y queda todo configurado para que uses los programas mencionados. &lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;a href="http://www.wampserver.com/en/download.php"&gt;Descarga desde la web del autor&lt;/a&gt;&lt;/span&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;br /&gt;Aparecerá un pequeño icono similar a un velocímetro de auto en los iconos de acceso rápido en la barra de inicio. Haz click izquierdo en él y elije "PUT ONLINE"... y esta está! Así de fácil, simple y comodo. &lt;/div&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 190px; DISPLAY: block; HEIGHT: 217px; CURSOR: hand" border="0" alt="" src="http://www.wampserver.com/en/data/image_menu_wamp.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;¡A Crear páginas webs!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-3287667206084483922?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/3287667206084483922/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/06/instalar-php-servidor-apache-y-mysql.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/3287667206084483922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/3287667206084483922'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/06/instalar-php-servidor-apache-y-mysql.html' title='Instalar PHP, Servidor Apache y MySQL'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-2979128204755810273</id><published>2009-06-27T14:36:00.002-04:00</published><updated>2009-06-27T14:41:42.194-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Manuales'/><title type='text'>MySQL Server - Guía Rápida</title><content type='html'>&lt;div align="justify"&gt;No muy buena ni muy extensa, pero puede servir para familiarizarse con el concepto.&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://www.mediafire.com/?tdznm5zy2mz"&gt;Descargar&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Descarga por &lt;a href="http://www.mediafire.com/"&gt;Mediafire&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Idioma:&lt;/strong&gt; Español&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;Formato:&lt;/strong&gt; .pdf&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-2979128204755810273?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/2979128204755810273/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/06/mysql-server-guia-rapida.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/2979128204755810273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/2979128204755810273'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/06/mysql-server-guia-rapida.html' title='MySQL Server - Guía Rápida'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-4883093923114523674</id><published>2009-06-27T14:23:00.004-04:00</published><updated>2009-06-27T14:36:40.768-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Manuales'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Desarrollo Web con PHP y MySQL</title><content type='html'>&lt;div align="center"&gt;&lt;a href="http://2.bp.blogspot.com/_PtkhTsQefnw/SkZmZo9PO3I/AAAAAAAAAHk/RdvUJIB9mAQ/s1600-h/Desarrollo+Web+con+PHP+y+MySQL.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 311px; DISPLAY: block; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5352077797853444978" border="0" alt="" src="http://2.bp.blogspot.com/_PtkhTsQefnw/SkZmZo9PO3I/AAAAAAAAAHk/RdvUJIB9mAQ/s400/Desarrollo+Web+con+PHP+y+MySQL.png" /&gt;&lt;/a&gt; Nada mejor que crear nuestras propias páginas webs, y que mejor que utilizando uno de los mejores programas para ello: PHP y MySQL.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;a href="http://www.mediafire.com/?wyg20glzlg5"&gt;Descargar&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Descarga por Mediafire&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Formato:&lt;/strong&gt; .pdf&lt;br /&gt;&lt;strong&gt;Idioma:&lt;/strong&gt; Español &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-4883093923114523674?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/4883093923114523674/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/06/desarrollo-web-con-php-y-mysql.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/4883093923114523674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/4883093923114523674'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/06/desarrollo-web-con-php-y-mysql.html' title='Desarrollo Web con PHP y MySQL'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_PtkhTsQefnw/SkZmZo9PO3I/AAAAAAAAAHk/RdvUJIB9mAQ/s72-c/Desarrollo+Web+con+PHP+y+MySQL.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-6460856090602760946</id><published>2009-06-10T01:17:00.007-04:00</published><updated>2009-06-10T01:39:38.284-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Utilidades'/><category scheme='http://www.blogger.com/atom/ns#' term='Diversión'/><title type='text'>Midis Mario Bros, VanBasco's</title><content type='html'>&lt;div align="justify"&gt;Diviértete con los Midis más divertidos de Mario Bros 1, 2, 3 y World. Además, incluimos la descarga para uno de los mejores programas de reproducción de midis, estamos hablando de &lt;a href="http://www.vanbasco.com/es/karaokeplayer/"&gt;VanBasco's Karaoke Player.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;¡Que los disfruten! &lt;/div&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 193px; DISPLAY: block; HEIGHT: 173px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5345569083473981922" border="0" alt="" src="http://2.bp.blogspot.com/_PtkhTsQefnw/Si9GwmbG8eI/AAAAAAAAAHc/mur-hjssM64/s400/Mario+Bros+3.jpg" /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-size:78%;"&gt;Descarga por Mediafire&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;a href="http://www.mediafire.com/?yjajnhm2naj"&gt;Descargar Midis&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 250px; DISPLAY: block; HEIGHT: 133px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5345567398659929346" border="0" alt="" src="http://4.bp.blogspot.com/_PtkhTsQefnw/Si9FOiAItQI/AAAAAAAAAHU/Dhv6YVUqKRQ/s400/VanBasco%27s.gif" /&gt;  &lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:78%;"&gt;Descargar por la Web del Autor&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://www.vanbasco.com/es/download.html"&gt;Descargar VanBasco's Karaoke Player&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-6460856090602760946?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/6460856090602760946/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/06/midis-mario-bros-vanbascos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6460856090602760946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6460856090602760946'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/06/midis-mario-bros-vanbascos.html' title='Midis Mario Bros, VanBasco&apos;s'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_PtkhTsQefnw/Si9GwmbG8eI/AAAAAAAAAHc/mur-hjssM64/s72-c/Mario+Bros+3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-2911213683961063244</id><published>2009-06-10T01:04:00.003-04:00</published><updated>2009-06-10T01:13:55.099-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Utilidades'/><category scheme='http://www.blogger.com/atom/ns#' term='Manuales'/><title type='text'>Recargar Cartuchos de Tinta</title><content type='html'>&lt;div align="justify"&gt;¿Quieres ahorrar dinero? ¿Encuentras que gastas mucho en tintas para tu impresora? Este manual te puede servir.&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-size:180%;color:#330033;"&gt;Manual Para Aprender a Recargar Cartuchos de Tinta&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;(Cartridge)&lt;/div&gt;&lt;div align="center"&gt; &lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:78%;"&gt;Descarga por Mediafire&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://www.mediafire.com/?zyvyw2vvdjn"&gt;&lt;span style="font-size:130%;"&gt;Descargar&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-2911213683961063244?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/2911213683961063244/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/06/recargar-cartuchos-de-tinta.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/2911213683961063244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/2911213683961063244'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/06/recargar-cartuchos-de-tinta.html' title='Recargar Cartuchos de Tinta'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-6568015983497586827</id><published>2009-06-08T19:59:00.007-04:00</published><updated>2009-06-08T20:18:33.935-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Utilidades'/><category scheme='http://www.blogger.com/atom/ns#' term='Ebook'/><title type='text'>Libros Gratis</title><content type='html'>&lt;div align="justify"&gt;Si estás estudiando alguna carrera del area de la salud o las ciencias te puede interesar visitar &lt;a href="http://medicinerevolution.blogspot.com/"&gt;Jah Medicine Revolution.&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Este Blog alberga una gran cantidad de Enlaces para descargar &lt;span style="color:#009900;"&gt;Ebooks&lt;/span&gt; completos de las más variadas materias. No requiere registro y es demasiado util cuando no tienes dinero para comprar los tan costosos libros.&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;hr /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://medicinerevolution.blogspot.com/"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 47px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5345112352453695954" border="0" alt="" src="http://3.bp.blogspot.com/_PtkhTsQefnw/Si2nXWyOGdI/AAAAAAAAAHE/JVXajl8YCVg/s400/Jah+Medicine+Revolution.JPG" /&gt;&lt;/a&gt; &lt;hr /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p align="justify"&gt;Otro Blog bastante interesante y con abundantes Ebooks que queremos que visiten es &lt;a href="http://libros-medicos.com.ar/"&gt;Tus Libros Medicos.&lt;/a&gt;&lt;/p&gt;&lt;p align="justify"&gt;Posee tantos libros como Jah Medicine Revolution aunque juntos se complementan muy bien.&lt;/p&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;strong&gt;¡Visitenlos!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-6568015983497586827?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/6568015983497586827/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/06/libros-gratis.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6568015983497586827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6568015983497586827'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/06/libros-gratis.html' title='Libros Gratis'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PtkhTsQefnw/Si2nXWyOGdI/AAAAAAAAAHE/JVXajl8YCVg/s72-c/Jah+Medicine+Revolution.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-6881217851997930996</id><published>2009-06-06T03:16:00.000-04:00</published><updated>2009-06-06T03:21:26.352-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Utilidades'/><title type='text'>Convertir a PDF</title><content type='html'>&lt;div align="justify"&gt;Si de buenas utilidades se trata no existe nada mejor que &lt;a href="http://www.en.conv2pdf.com/"&gt;cnv2pdf&lt;/a&gt;. Es sin duda una de las mejores web diseñadas para transformar archivos a PDF. No exige que te registres ni obliga a ingresar una dirección de email. Además que es totalmente GRATUITO.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Los formatos que soporta son:&lt;/div&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 232px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5344108565543719506" border="0" alt="" src="http://1.bp.blogspot.com/_PtkhTsQefnw/SioWbRJbElI/AAAAAAAAAG0/puG5PNoFm8w/s400/conv2pdf.JPG" /&gt; &lt;p align="justify"&gt;&lt;br /&gt;No necesitas instalar nada, es una aplicación online que entrega en poco tiempo el documento en formato PDF listo para descargar. &lt;/p&gt;&lt;a href="http://www.en.conv2pdf.com/"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 363px; DISPLAY: block; HEIGHT: 96px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5344110247389556898" border="0" alt="" src="http://2.bp.blogspot.com/_PtkhTsQefnw/SioX9Kgt8KI/AAAAAAAAAG8/AM_sOmUzmjY/s400/conv2pdf.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-6881217851997930996?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/6881217851997930996/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/06/convertir-pdf.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6881217851997930996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6881217851997930996'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/06/convertir-pdf.html' title='Convertir a PDF'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_PtkhTsQefnw/SioWbRJbElI/AAAAAAAAAG0/puG5PNoFm8w/s72-c/conv2pdf.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-507512407440278796</id><published>2009-06-04T15:10:00.003-04:00</published><updated>2009-06-04T15:29:32.704-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Manuales'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Tutoriales de C y C++</title><content type='html'>&lt;div align="justify"&gt;Con el fin de ayudarlos a que aprendan más sobre los lenguajes "padres", les dejo unos tutoriales muy buenos de estos 2 lenguajes: &lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-family:courier new;font-size:180%;"&gt;&lt;strong&gt;C &amp;amp; C++&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-family:georgia;font-size:78%;"&gt;Descarga por Mediafire&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://www.mediafire.com/?jynymothzni"&gt;Descargar Tutoriales de C y C++&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-family:georgia;"&gt;&lt;strong&gt;Idioma:&lt;/strong&gt; Español&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-family:georgia;"&gt;&lt;strong&gt;Archivos:&lt;/strong&gt; 1 .rar&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-family:georgia;"&gt;&lt;strong&gt;Formatos:&lt;/strong&gt; 7 .pdf y 1 .doc&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;tbody&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Detalle:&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;1. Aprenda ANSI C como si estuviera en primero (.pdf)&lt;/div&gt;&lt;div align="justify"&gt;2. Aprenda C++ Avanzado como si estuviera en primero (.pdf)&lt;/div&gt;&lt;div align="justify"&gt;3. Aprenda C++ Básico como si estuviera en primero (.pdf)&lt;/div&gt;&lt;div align="justify"&gt;4. Curso de C++ (.pdf)&lt;/div&gt;&lt;div align="justify"&gt;5. Ficheros en C y C++ (.pdf)&lt;/div&gt;&lt;div align="justify"&gt;6. Manual Básico de C++ (.pdf)&lt;/div&gt;&lt;div align="justify"&gt;7. Manual de C (.pdf)&lt;/div&gt;&lt;div align="justify"&gt;8. La Biblia de C++ (.doc)&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;/tbody&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;¡A Disfrutarlos!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-507512407440278796?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/507512407440278796/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/06/tutoriales-de-c-y-c.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/507512407440278796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/507512407440278796'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/06/tutoriales-de-c-y-c.html' title='Tutoriales de C y C++'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-6513430529535060381</id><published>2009-06-03T23:28:00.002-04:00</published><updated>2009-06-03T23:43:35.396-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Manuales'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Unos cuantos Manuales de HTML</title><content type='html'>&lt;div align="justify"&gt;HTML es sin duda el lenguaje central de las páginas web, por lo que su conocimiento es básico y fundamental para cualquier desarrollador web.&lt;br /&gt;&lt;br /&gt;Si planeas iniciarte en el desarrollo web es bueno que aprendas HTML y te des cuenta de lo simple que es. Para información oficial visita la página de la &lt;a href="http://www.w3.org/MarkUp"&gt;W3C&lt;/a&gt; (inglés). &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 317px; DISPLAY: block; HEIGHT: 322px; CURSOR: hand" border="0" alt="" src="http://www.w3c.es/Presentaciones/Slidy/img/keys.jpg" /&gt;&lt;br /&gt;Descarga los manuales ahora y comienza a ser un desarrollador web:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;center&gt;&lt;span style="font-size:78%;"&gt;Descarga Gracias a Mediafire&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.mediafire.com/?om20xnkiydd"&gt;Manuales Varios de HTML&lt;/h2&gt;&lt;/center&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-6513430529535060381?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/6513430529535060381/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/06/unos-cuantos-manuales-de-html.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6513430529535060381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6513430529535060381'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/06/unos-cuantos-manuales-de-html.html' title='Unos cuantos Manuales de HTML'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-9062336309867747355</id><published>2009-06-03T23:08:00.002-04:00</published><updated>2009-06-03T23:19:45.156-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Manuales'/><title type='text'>Manuales de Javascript</title><content type='html'>&lt;div align="justify"&gt;Hola nuevamemte. Esta vez les dejo un material buenísimo acerca del sencillo lenguaje &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Javascript&lt;/span&gt;&lt;/strong&gt;.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Si quieres aprender a programar cosas sencillas, comienza con &lt;span style="color:#ff0000;"&gt;&lt;strong&gt;Javascript&lt;/strong&gt;&lt;/span&gt;. Es muy emocionante ver que al poco tiempo, con tan solo tu &lt;span style="color:#009900;"&gt;block de notas&lt;/span&gt; y un &lt;span style="color:#000099;"&gt;Navegador de Internet&lt;/span&gt; puedes tener muy buenos resultados.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Claro está que &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Javascript&lt;/span&gt;&lt;/strong&gt; no esta diseñado para programar softwares complejos, empezando porque conectarlo a una base de datos es un tanto complejo.&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;¡Buena suerte y bienvenidos a Javascript!&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-size:78%;"&gt;Descarga por Mediafire&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;h2&gt;&lt;center&gt;&lt;a href="http://www.mediafire.com/?emltmmrnmnj"&gt;Manuales Javascript&lt;/a&gt;&lt;/h2&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-9062336309867747355?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/9062336309867747355/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/06/manuales-de-javascript.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/9062336309867747355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/9062336309867747355'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/06/manuales-de-javascript.html' title='Manuales de Javascript'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-399941934220733510</id><published>2009-05-22T19:56:00.003-04:00</published><updated>2009-05-22T20:04:49.822-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Manuales'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Piensa en C++, Español</title><content type='html'>&lt;div style="text-align: center; color: rgb(255, 0, 0);"&gt;Aquí les dejo los links de descargas del manual&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Piensa en C++&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_PtkhTsQefnw/Shc9N1b8yAI/AAAAAAAAAGs/B4Ennjl1vPU/s1600-h/Think+in+C%2B%2B.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 307px; height: 400px;" src="http://1.bp.blogspot.com/_PtkhTsQefnw/Shc9N1b8yAI/AAAAAAAAAGs/B4Ennjl1vPU/s400/Think+in+C%2B%2B.jpg" alt="" id="BLOGGER_PHOTO_ID_5338803191162914818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Versión traducida de Bruce Eckel. Muy bueno para comenzar a familiarizarse con C++.&lt;br /&gt;Lo recomiendo ampliamente. Está el volumen 1 y el 2.&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;Descarga por MediaFire&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/download.php?mwtgzicztzn"&gt;Descargar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Formato pdf&lt;br /&gt;Idioma: Español&lt;br /&gt;1 Archivo .rar&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-399941934220733510?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/399941934220733510/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/05/piensa-en-c-espanol.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/399941934220733510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/399941934220733510'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/05/piensa-en-c-espanol.html' title='Piensa en C++, Español'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_PtkhTsQefnw/Shc9N1b8yAI/AAAAAAAAAGs/B4Ennjl1vPU/s72-c/Think+in+C%2B%2B.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-7163539931303809061</id><published>2009-05-04T10:36:00.003-04:00</published><updated>2009-05-04T10:43:03.918-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Manuales'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Muchos Manuales Gratis</title><content type='html'>&lt;div style="text-align: center; color: rgb(255, 0, 0);"&gt;&lt;span style="font-size:130%;"&gt;Si quieres enterarte de todo un poco con muchos manuales sobre diferentes temas, visita:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://todo-manuales.blogspot.com"&gt;&lt;b&gt;Todo Manuales&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Es sin duda un espacio muy importante, con manuales que me gustaron demasiado. El blog lleva poco tiempo y los links funcionan todos (al menos los que he provado).&lt;br /&gt;&lt;br /&gt;Los espero por allá, no se olviden que es TODO GRATIS. Los manuales tienen buena resolución.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-7163539931303809061?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/7163539931303809061/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/05/muchos-manuales-gratis.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/7163539931303809061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/7163539931303809061'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/05/muchos-manuales-gratis.html' title='Muchos Manuales Gratis'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-5962214173716651803</id><published>2009-03-21T21:21:00.002-04:00</published><updated>2009-03-21T21:24:19.172-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='while'/><category scheme='http://www.blogger.com/atom/ns#' term='Ciclos_Repetitivos'/><title type='text'>while</title><content type='html'>El &lt;span style="font-family:courier new;"&gt;while&lt;/span&gt; ejecuta las instrucciones que contiene mientras la condición sea verdadera (&lt;span style="font-family:courier new;"&gt;true&lt;/span&gt;). Es como decir: &lt;span style="font-style: italic;"&gt;"mientras se cumpla esta condición, hacer estas instrucciones"&lt;/span&gt;. Una vez que la condición es falsa (&lt;span style="font-family:courier new;"&gt;false&lt;/span&gt;) se termina el &lt;span style="font-family:courier new;"&gt;while&lt;/span&gt; y se sigue con el programa.&lt;br /&gt;&lt;div style="text-align: justify;"&gt; &lt;span style="font-family:courier new;"&gt;while&lt;/span&gt; siempre debe ser cerrado con &lt;span style="font-family:courier new;"&gt;end&lt;/span&gt;. Se puede usar la palabra reservada &lt;span style="font-family:courier new;"&gt;do&lt;/span&gt;, pero es opcional.&lt;br /&gt;&lt;br /&gt;Veamos un ejemplo simple:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_PtkhTsQefnw/ScWS9tkAaFI/AAAAAAAAAGk/171Kjw2oGtc/s1600-h/Ejemplo+de+while.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 256px; height: 379px;" src="http://2.bp.blogspot.com/_PtkhTsQefnw/ScWS9tkAaFI/AAAAAAAAAGk/171Kjw2oGtc/s400/Ejemplo+de+while.JPG" alt="" id="BLOGGER_PHOTO_ID_5315816524081031250" border="0" /&gt;&lt;/a&gt;Se ve que la palabra &lt;span style="font-family: courier new;"&gt;do&lt;/span&gt; es opcional.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-5962214173716651803?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/5962214173716651803/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/while.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5962214173716651803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5962214173716651803'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/while.html' title='while'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_PtkhTsQefnw/ScWS9tkAaFI/AAAAAAAAAGk/171Kjw2oGtc/s72-c/Ejemplo+de+while.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-5574537021530045954</id><published>2009-03-21T21:08:00.002-04:00</published><updated>2009-03-21T21:15:20.345-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='loop'/><category scheme='http://www.blogger.com/atom/ns#' term='Ciclos_Repetitivos'/><title type='text'>loop</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:courier new;"&gt;loop&lt;/span&gt; crea un ciclo repetitivo de instrucciones infinito, salvo que se especifique un quiebre con &lt;span style="font-family:courier new;"&gt;break&lt;/span&gt; (generalmente acompañado de una condición). Veamos un ejemplo:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_PtkhTsQefnw/ScWQxBnewtI/AAAAAAAAAGc/WbbhIWjb23c/s1600-h/Ejemplo+de+loop.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 265px; height: 392px;" src="http://2.bp.blogspot.com/_PtkhTsQefnw/ScWQxBnewtI/AAAAAAAAAGc/WbbhIWjb23c/s400/Ejemplo+de+loop.JPG" alt="" id="BLOGGER_PHOTO_ID_5315814107102757586" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:courier new;"&gt;loop&lt;/span&gt; va siempre acompañado de la palabra reservada &lt;span style="font-family:courier new;"&gt;do&lt;/span&gt;, sino posiblemente Ruby arroje un error. &lt;span style="font-family:courier new;"&gt;loop&lt;/span&gt; debe ser cerrado con &lt;span style="font-family:courier new;"&gt;end&lt;/span&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-5574537021530045954?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/5574537021530045954/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/loop.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5574537021530045954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5574537021530045954'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/loop.html' title='loop'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_PtkhTsQefnw/ScWQxBnewtI/AAAAAAAAAGc/WbbhIWjb23c/s72-c/Ejemplo+de+loop.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-8438652486699932932</id><published>2009-03-19T23:10:00.000-04:00</published><updated>2009-03-19T23:12:29.552-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Condicionales'/><category scheme='http://www.blogger.com/atom/ns#' term='else'/><title type='text'>Declaración ELSE</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: courier new;"&gt;else&lt;/span&gt; permite realizar lo que se entiende como: &lt;span style="font-style: italic;"&gt;"si la condición es verdadera has esto, sino has esto otro"&lt;/span&gt;. Entonces &lt;span style="font-family: courier new;"&gt;else&lt;/span&gt; contiene las instrucciones que se ejecutan cuando la condición no se cumple.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;else&lt;/span&gt; no se cierra con &lt;span style="font-family: courier new;"&gt;end&lt;/span&gt;, ya que se considera parte inherente a &lt;span style="font-family: courier new;"&gt;if&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Veamos siguiendo con el ejemplo anterior:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;x = 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;y = 9.54&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;if x &gt; y &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  puts "x es mayor que y"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  puts "x es menor que y"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Aquí no es necesario indicarle al &lt;span style="font-family: courier new;"&gt;else&lt;/span&gt; lo contrario de &lt;span style="font-family: courier new;"&gt;if&lt;/span&gt;, a Ruby le basta con saber que si no se cumple la condición se debe ejecutar el &lt;span style="font-family: courier new;"&gt;else&lt;/span&gt;. Al igual que &lt;span style="font-family: courier new;"&gt;if&lt;/span&gt;, else puede recibir todas las instrucciones que sean necesarias.&lt;br /&gt;&lt;br /&gt;¿Qué ocurre cuando &lt;span style="font-family: courier new;"&gt;if&lt;/span&gt; es falso y else también pero quieremos que se ejecuten ciertas instrucciones en ese caso?&lt;br /&gt;&lt;br /&gt;Para ello existe &lt;span style="font-weight: bold; font-family: courier new;"&gt;elsif&lt;/span&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-8438652486699932932?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/8438652486699932932/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/declaracion-else.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/8438652486699932932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/8438652486699932932'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/declaracion-else.html' title='Declaración ELSE'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-1942584968603020502</id><published>2009-03-19T22:54:00.005-04:00</published><updated>2009-03-19T23:13:06.441-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Condicionales'/><category scheme='http://www.blogger.com/atom/ns#' term='if'/><title type='text'>Declaración IF</title><content type='html'>&lt;div style="text-align: justify;"&gt;La expresión &lt;span style="font-family:courier new;"&gt;if&lt;/span&gt; es muy similiar a la de todos los lenguajes de programación. En Ruby no se ponen paréntesis después de esta estructura.&lt;br /&gt;&lt;br /&gt;El &lt;span style="font-family:courier new;"&gt;if&lt;/span&gt; es una de las estructuras más fundamentales en Ruby y se puede entender como: &lt;span style="font-style: italic;"&gt;"si esta condición es verdadera, ejecuta estas acciones"&lt;/span&gt;. Así se crea un dinamismo rudimentario en la ejecución del programa, donde ya no todo es lineal, sino que se pueden tomar decisiones.&lt;br /&gt;&lt;br /&gt;La declaración&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt; &lt;/span&gt;if&lt;/span&gt; debe comenzar con &lt;span style="font-family:courier new;"&gt;if&lt;/span&gt; (lógico) y terminar con &lt;span style="font-family:courier new;"&gt;end&lt;/span&gt;. También es importante destacar la presencia de la palabra reservada &lt;span style="font-family:courier new;"&gt;then&lt;/span&gt;. Then se utiliza siempre y cuando la estructura &lt;span style="font-family:courier new;"&gt;if&lt;/span&gt; vaya en una sola línea, de lo contrario, se obvia. Por ejemplo:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x = 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;y = 9.54&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if x &gt; y then puts "x es mayor que y" end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Aquí la estructura &lt;span style="font-family:courier new;"&gt;if&lt;/span&gt; va escrita en una sola línea, comenzando con &lt;span style="font-family:courier new;"&gt;if&lt;/span&gt; y cerrándose con &lt;span style="font-family:courier new;"&gt;end&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x = 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;y = 9.54&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if x &gt; y&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  puts "x es mayor que y"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Aquí la palabra &lt;span style="font-family:courier new;"&gt;then&lt;/span&gt; no se utiliza, pero se sigue cerrando con &lt;span style="font-family:courier new;"&gt;end&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;En &lt;span style="font-family:courier new;"&gt;if&lt;/span&gt; pueden ir todas las instrucciones que se necesiten, incluso más estructuras &lt;span style="font-family:courier new;"&gt;if&lt;/span&gt;. Lo que nunca hay que olvidar es que, independiente de cuantos end haya en las instrucciones internas, el &lt;span style="font-family:courier new;"&gt;if&lt;/span&gt; siempre debe ir cerrado por un &lt;span style="font-family:courier new;"&gt;end&lt;/span&gt;, sino Ruby arroja un error. Por ello se recomiendo ampliamente el uso de la Identación.&lt;br /&gt;&lt;br /&gt;La declaración &lt;span style="font-family:courier new;"&gt;if&lt;/span&gt; en Ruby puede tener más soltura. Su estructura no es tan rígida ya que se puede realizar lo siguiente siguiendo el ejemplo anterior:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x = 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;y = 9.54&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;puts "x es mayor que y" if x &gt; y&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:courier new;"&gt;if&lt;/span&gt; es sumamente versátil, ya que se pueden hacer evaluar varias condiciones para generar una respuesta mediante &lt;span style="font-family:courier new;"&gt;and (&amp;amp;&amp;amp;)&lt;/span&gt; y &lt;span style="font-family:courier new;"&gt;or (||)&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;and&lt;/span&gt; y &lt;span style="font-family:courier new;"&gt;or&lt;/span&gt; tienen funciones lógicas diferentes. Si usamos &lt;span style="font-family:courier new;"&gt;and&lt;/span&gt; le estamos diciendo a Ruby que se deben cumplir las 2 condiciones para ejecutar las instrucciones, si no se cumplen ambas a la vez, se continua con el programa. En cambio, si usamos &lt;span style="font-family:courier new;"&gt;or&lt;/span&gt; Ruby ejecuta las instrucciones si por lo menos una de las 2 o más condiciones se cumplen.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Veamos un ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x = 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;y = 9.54&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;z = 0.2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if x &gt; y &amp;amp;&amp;amp; y &gt; z&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  puts "z es el menor"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;z es el menor&lt;/span&gt; # resultado&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Aquí se cumplen ambas condiciones, si una fuera falsa no ocurriría nada.&lt;br /&gt;&lt;br /&gt;¿Que pasa si ahora usamos &lt;span style="font-family:courier new;"&gt;or&lt;/span&gt;?:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x = 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;y = 9.54&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;z = 0.2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if x &gt; y or z &gt; y&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  puts "Igual hay resultado"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;igual hay resultado&lt;/span&gt; # resultado&lt;br /&gt;&lt;br /&gt;Aquí, independiente que &lt;span style="font-family:courier new;"&gt;z&lt;/span&gt; no sea mayor que y se ejecutó la instrucción.&lt;br /&gt;&lt;br /&gt;¿Pero cómo lograr que Ruby ejecute otras acciones si la condición es falsa?&lt;br /&gt;&lt;br /&gt;Eso se logra con la declaración &lt;span style="font-weight: bold;font-family:courier new;" &gt;else&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-1942584968603020502?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/1942584968603020502/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/declaracion-if.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/1942584968603020502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/1942584968603020502'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/declaracion-if.html' title='Declaración IF'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-3059336575620190948</id><published>2009-03-19T22:47:00.004-04:00</published><updated>2009-03-19T22:52:52.894-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Condicionales'/><category scheme='http://www.blogger.com/atom/ns#' term='Control_de_Flujo'/><title type='text'>Estructuras de Control de Flujo</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-family: georgia;font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Estructuras de Control de Flujo&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Veamos como se controla el flujo del programa gracias a las condicionales y loops, para ello debemos estudiar las palabras reservadas de Ruby que nos permiten crear condicionales y los Ciclos Repetitivos.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Breve introducción al concepto de Condicional&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En programación normalmente hablamos de condiciones y estructuras condicionales en los programas. El concepto es sí es bien simple. Si se cumple la condición se ejecutan las instrucciones, sino se cierra el programa o se segue con otro procedimiento.&lt;br /&gt;&lt;br /&gt;Existen 2 tipos de estructuras condicionales, las simples y las compuestas.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Estructura condicional simple&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Es aquella que se rigue por esta estructura:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Si (condición) entonces hacer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   (instrucciones)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   (instrucciones)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   ...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Fin Si&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En palabras sería, si se cumple la condición se ejecutan las instrucciones, sino se ejecutan las instrucciones siguientes del programa.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Estructura condicional compuesta&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Es aquella en la que existe una condición, si es verdadera se ejecutan ciertas instrucciones y si es falsa se ejecutan otras instrucciones. Este tipo de estructura condicional obedece a la siguiente estructura:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Si (condición) entonces hacer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   (instrucciones)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   ...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Sino&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   (instrucciones)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   ...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Fin Si&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-3059336575620190948?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/3059336575620190948/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/estructuras-de-control-de-flujo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/3059336575620190948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/3059336575620190948'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/estructuras-de-control-de-flujo.html' title='Estructuras de Control de Flujo'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-546585274566759826</id><published>2009-03-14T11:38:00.002-03:00</published><updated>2009-03-14T11:47:13.150-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Accesores'/><title type='text'>Accesores (Accessors)</title><content type='html'>&lt;div style="text-align: justify;"&gt;Los Accesores en Ruby provienen de la clase Module, ellos permiten no tener que definir métodos accesores esplícitamente (getters y setters). Además, permiten ahorar lineas importantes de código.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Los accesores más importantes son:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;attr&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;attr_reader&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;attr_writer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;attr_accessor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Un getter es un método que "consigue" el valor de una característica específica. Un setter es un método que "fija" el valor de una característica específica. En Ruby, el valor que se consigue o fija con los setters o getters, respectivamente, es el que toma la variable de instancia que definen.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family: courier new;"&gt;attr&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El módulo accesor attr crea un getter único, que incluye la creación de un método para acceder a una variable de instancia con el mismo nombre.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;attr :nombre, true&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El método que crea attr tiene el mismo nombre del símbolo que se le pasa a manera de argumento (nombre). A su vez, la variable de instancia a la que permite el acceso también tiene el mismo nombre del símbolo (&lt;span style="font-family: courier new;"&gt;@nombre&lt;/span&gt;).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Cabe destacar el segundo argumento, ese true. Este segundo argumento puede tomar dos valores lógicos, &lt;span style="font-family: courier new;"&gt;true o false&lt;/span&gt; (no se escribe nada si es &lt;span style="font-family: courier new;"&gt;false&lt;/span&gt;). Si toma el valor &lt;span style="font-family: courier new;"&gt;true&lt;/span&gt;, el módulo &lt;span style="font-family: courier new;"&gt;attr&lt;/span&gt; permite además de la creación de un getter, un setter (opcional, pues depende de si el segundo argumento es &lt;span style="font-family: courier new;"&gt;true o false&lt;/span&gt;); si es &lt;span style="font-family: courier new;"&gt;false&lt;/span&gt;, se omite la creación del setter.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En resumen, veamos cómo nos facilita este accesor unas líneas de código:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Creamos una clase cualquiera:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;class Todoruby&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  def initialize (nombre)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    @nombre = nombre&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  def nombre&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    @nombre&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ahora creemos la misma clase pero usando &lt;span style="font-family: courier new;"&gt;attr&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;class Todoruby&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  attr :nombre, true&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Eso simplemente, ya que attr ya nos definió el método nombre y nos creó una variable de instancia (&lt;span style="font-family: courier new;"&gt;@nombre&lt;/span&gt;) que permite acceder a ese método.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family: courier new;"&gt;attr_reader&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El módulo accesor &lt;span style="font-family: courier new;"&gt;attr_reader&lt;/span&gt; permite la creación de uno o más getters, que incluye la creación de uno o más métodos para acceder a una o más variables de instancia con sus nombres correspondientes.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;attr_reader :nombre, :ancho, :alto&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Los métodos y las variables de instancia que crea &lt;span style="font-family: courier new;"&gt;attr_reader&lt;/span&gt; tienen igual nombre que sus símbolos respectivos.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: courier new;"&gt;attr_reader&lt;/span&gt; se pasa sin más argumentos (no existe el argumento &lt;span style="font-family: courier new;"&gt;true&lt;/span&gt; como en &lt;span style="font-family: courier new;"&gt;attr&lt;/span&gt;).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center; font-family: courier new;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;attr_writer&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El módulo accesor &lt;span style="font-family: courier new;"&gt;attr_writer&lt;/span&gt; permite la creación de uno o más setters, que incluye la creación de uno o más métodos para acceder a una o más variables de instancia con sus nombres correspondientes.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;attr_writer :nombre, :ancho, :alto&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Los métodos y las variables de instancia que crea &lt;span style="font-family: courier new;"&gt;attr_writer&lt;/span&gt; tienen igual nombre que sus símbolos respectivos.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: courier new;"&gt;attr_writer&lt;/span&gt; se pasa sin más argumentos (no existe el argumento &lt;span style="font-family: courier new;"&gt;true&lt;/span&gt; como en &lt;span style="font-family: courier new;"&gt;attr&lt;/span&gt;).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold; font-family: courier new;"&gt;&lt;span style="font-size:130%;"&gt;attr_accessor&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El módulo accesor &lt;span style="font-family: courier new;"&gt;attr_accessor&lt;/span&gt; permite la creación de un &lt;span style="font-family: courier new;"&gt;attr_writer&lt;/span&gt; y un &lt;span style="font-family: courier new;"&gt;attr_reader&lt;/span&gt; para cada variable de instancia que crean, representadas por el símbolo que se les pasa como argumento.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Permiten reducir esto:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;class Persona&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  def nombre&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    @nombre&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  def nombre=(nombre)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    @nombre = nombre&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  def edad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    @edad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  def edad=(edad)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    @edad = edad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;a esto:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;class Persona&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  attr_accessor :nombre, :edad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;end&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-546585274566759826?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/546585274566759826/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/accesores-accessors.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/546585274566759826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/546585274566759826'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/accesores-accessors.html' title='Accesores (Accessors)'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-7666797470171465054</id><published>2009-03-14T11:33:00.002-03:00</published><updated>2009-03-14T11:37:14.883-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pseudovariables'/><title type='text'></title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Breve introducción al concepto de Pseudovariable&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Las pseudovariables tienen apariencia de variables locales, pero se comportan como Constantes. Otra característica importante es que no pueden recibir asignación de ningún tipo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Tabla de Pseudovariables&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PtkhTsQefnw/SbvAkJZdcpI/AAAAAAAAAGU/8a_zwXDB-3M/s1600-h/Tabla+Completa+de+las+Pseudovariables+de+Ruby.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 181px;" src="http://3.bp.blogspot.com/_PtkhTsQefnw/SbvAkJZdcpI/AAAAAAAAAGU/8a_zwXDB-3M/s400/Tabla+Completa+de+las+Pseudovariables+de+Ruby.JPG" alt="" id="BLOGGER_PHOTO_ID_5313051912644162194" border="0" /&gt;&lt;/a&gt;El significado aplicado de cada una de estas pseudovariables se verá con posterioridad en las demás secciones.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-7666797470171465054?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/7666797470171465054/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/breve-introduccion-al-concepto-de_14.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/7666797470171465054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/7666797470171465054'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/breve-introduccion-al-concepto-de_14.html' title=''/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PtkhTsQefnw/SbvAkJZdcpI/AAAAAAAAAGU/8a_zwXDB-3M/s72-c/Tabla+Completa+de+las+Pseudovariables+de+Ruby.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-2097483752356952050</id><published>2009-03-07T19:40:00.003-03:00</published><updated>2009-03-07T19:56:49.581-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Comentarios'/><title type='text'>Comentarios</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Breve introducción al concepto de Comentario&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En todos los lenguajes de programación y en especial en los lenguajes OO, los comentarios dentro del código del programa son importantes. Debemos recordar bien que hace cada una de las partes de nuestro programa para entender como se comporta el algoritmo.&lt;br /&gt;&lt;br /&gt;Por ejemplo, debemos conocer bien en qué lugares están los comandos que controlan un suceso determinado para poder generar actualizaciones o subsanar errores de nuestro programa.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Ingresando comentarios&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En Ruby es muy fácil ingresar un comentario. Se pueden poner en cualquier lugar, excepto dentro de una cadena (lógico).&lt;br /&gt;&lt;br /&gt;Se inician con el símbolo #, nada más, se acaban cuando termina la línea.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Veamos un ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255); font-family: courier new;"&gt;class&lt;/span&gt;&lt;span style="font-family: courier new;"&gt; Todoruby&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255); font-family: courier new;"&gt;  def&lt;/span&gt;&lt;span style="font-family: courier new;"&gt; initialize &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0); font-family: courier new;"&gt;# Definimos initialize&lt;/span&gt;&lt;span style="font-family: courier new;"&gt; (este es un comentario)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255); font-family: courier new;"&gt;  end&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255); font-family: courier new;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ruby se salta los comentarios cuando ejecuta el programa (no se expresan en ningún lugar).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Para crear comentarios largos sin tener que repetir el símboo # hacemos:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0); font-family: courier new;"&gt;=begin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0); font-family: courier new;"&gt;Aqui ponemos un comentario largo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0); font-family: courier new;"&gt;de  más de una línea. Fijate en como&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0); font-family: courier new;"&gt;empieza y como termina&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0); font-family: courier new;"&gt;=end&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-2097483752356952050?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/2097483752356952050/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/comentarios.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/2097483752356952050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/2097483752356952050'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/comentarios.html' title='Comentarios'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-6863204741185611380</id><published>2009-03-06T13:30:00.002-03:00</published><updated>2009-03-06T14:14:42.359-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rangos'/><title type='text'>Rangos</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Breve introducción al concepto de Rango&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Entender los Rangos es muy simple. Por Rango se entiende una secuencia de datos que integran un intervalo, ya sea de caracteres o de números.&lt;br /&gt;&lt;br /&gt;En Ruby, existen dos tipos de Rangos (&lt;span style="font-style: italic;"&gt;Ranges&lt;/span&gt;), los incluyentes y los excluyentes.&lt;br /&gt;&lt;br /&gt;Los incluyentes (&lt;span style="font-style: italic;"&gt;inclusive&lt;/span&gt;) se designan de la siguiente manera:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;('a'..'z')&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;(1..10)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se inicia con paréntesis. Si es un rango de caracteres estos van entre comillas, si son de número las comillas no se escriben. Se escribe el primer elemento, se hacen los .. y se escribe el segundo elemento. En el ejemplo, el rango representa todas las letras de a 'a' a la 'z' y todos los números (&lt;span style="font-style: italic;"&gt;integers&lt;/span&gt;) entre 1 y 10.&lt;br /&gt;&lt;br /&gt;Los excluyentes (&lt;span style="font-style: italic;"&gt;exclusive&lt;/span&gt;) se designan así:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;('a'...'z')&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;(1...10)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En el ejemplo, se incluyen todas las letras de la 'a' a la 'y' ( se excluye el último elemento) y los números del 1 al 9.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-6863204741185611380?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/6863204741185611380/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/rangos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6863204741185611380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6863204741185611380'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/rangos.html' title='Rangos'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-7837021011873631583</id><published>2009-03-05T23:01:00.005-03:00</published><updated>2009-03-05T23:45:57.097-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Métodos'/><title type='text'>Métodos</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Breve introducción al concepto de Método&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Cuando quieremos que un objeto realice una acción le pedimos un "favor", los objetos son buenos, si pueden hacerlo lo harán, sino te avisan que son incapaces. Esos "favores" que les pedimos a los objetos son los llamados métodos. Los objetos se separan de los métodos mediante un punto:&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;niño.salta&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Aquí el objeto sería el niño y el método salta. Siempre va el objeto a la izquierda y el método a la derecha del punto.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Los métodos representan acciones (como los verbos), por lo tanto, no todos los objetos pueden realizar las mismas acciones. Un ave no puede ladrar, un pato no puede cavar, un cerdo no puede volar, etc. Cuando un objeto no responde a un método Ruby arroja un error:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;num = 7&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;num.length&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ruby arroja:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ERR: (eval):1: undefined method ‘length’ for 7:Fixnum &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Cuando el objeto responde al método, realiza una respuesta significativa.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Creando Métodos&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Para crear un método debemos iniciar con la palabra reservada def, seguida del nombre del método y, si es necesario, argumentos entre paréntesis. Toda definición de método debe ser cerrada con end.&lt;br /&gt;&lt;br /&gt;Ejemplo de un método simple:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_PtkhTsQefnw/SbCNpPRZ12I/AAAAAAAAAFs/nEQtzm13q40/s1600-h/Ejemplo+m%C3%A9todo+simple.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 186px;" src="http://4.bp.blogspot.com/_PtkhTsQefnw/SbCNpPRZ12I/AAAAAAAAAFs/nEQtzm13q40/s400/Ejemplo+m%C3%A9todo+simple.JPG" alt="" id="BLOGGER_PHOTO_ID_5309899700283496290" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Un pequeño salvavidas... puts self&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Si nos cuesta saber dentro de qué objeto nos encontramos podemos utilizar &lt;span style="font-family:courier new;"&gt;puts self&lt;/span&gt;. Con esto Ruby nos dirá dentro de que objeto nos encontramos. Veamos:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PtkhTsQefnw/SbCGf_RR2MI/AAAAAAAAAFk/U2oPvsguXNg/s1600-h/Ejemplo+de+puts+self.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 261px;" src="http://3.bp.blogspot.com/_PtkhTsQefnw/SbCGf_RR2MI/AAAAAAAAAFk/U2oPvsguXNg/s400/Ejemplo+de+puts+self.JPG" alt="" id="BLOGGER_PHOTO_ID_5309891844787787970" border="0" /&gt;&lt;/a&gt;Cuando no anteponemos una clase Ruby nos indica que estamos en el objeto &lt;span style="font-family:courier new;"&gt;main&lt;/span&gt;, el programa en sí. Cuando lo insertamos dentro de la clase nos responde que estamos en el objeto &lt;span style="font-family:courier new;"&gt;Todoruby&lt;/span&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-7837021011873631583?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/7837021011873631583/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/metodos.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/7837021011873631583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/7837021011873631583'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/metodos.html' title='Métodos'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_PtkhTsQefnw/SbCNpPRZ12I/AAAAAAAAAFs/nEQtzm13q40/s72-c/Ejemplo+m%C3%A9todo+simple.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-6572225798961406357</id><published>2009-03-05T21:06:00.004-03:00</published><updated>2009-03-05T23:47:07.224-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Clases'/><title type='text'>Clases (Class)</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Breve introducción al concepto de Clase&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Las clases son uno de los principales pilares en el lenguaje de programación Ruby (en casi todos los OO). Nos permiten la creación de Objetos y, dentro de ellas, las definiciones de cada una de sus características, mediante métodos y algunas variables. Como bien lo expresa Diego Guillén en su libro "Ruby Fácil", 'dentro de nuestro cerebro pensamos en categorías (taxonomías), y tenemos la tendencia a abstraer y agrupar todo lo que conocemos.' Aquí queda claro que la clasificación es importante. Primero clasificamos todo como materia o vacío, luego hacemos más clasificaciones a partir de materia, como inerte y viva; luego, de la materia viva obtenemos más clases, como Poríferos, Cnidarios, Anélidos, Cordados, etc. Hasta que llegamos a algo particular como Homo Sapiens, definimos esto y creamos las instancias (lo más perticular). Por ello, crear clases en programación es una MUY buena idea: fácil y entendible.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;La definición de una clase comienza con la palabra reservada class y termina con end. Dentro de toda esta región de código deben ir expresadas las características generales de la clase, las instancias y los métodos más particulares. Las Clases definen un concepto entero.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Veamos el ejemplo de una clase:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_PtkhTsQefnw/SbBs_XFW13I/AAAAAAAAAFc/tj28IQIHuUw/s1600-h/Ejemplo+Clase+Humano.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 198px;" src="http://2.bp.blogspot.com/_PtkhTsQefnw/SbBs_XFW13I/AAAAAAAAAFc/tj28IQIHuUw/s400/Ejemplo+Clase+Humano.JPG" alt="" id="BLOGGER_PHOTO_ID_5309863796453857138" border="0" /&gt;&lt;/a&gt;El &lt;span style="font-family:courier new;"&gt;def initialize()&lt;/span&gt; es opcional, aunque sirve para poder pasarle parámetros de inicio a la clase. Por ello se le conoce como método Constructor.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Creando una Clase nueva&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Para crear una nueva clase utilizamos el método&lt;span style="font-family:courier new;"&gt; .new&lt;/span&gt;, con lo cual creamos una nueva instancia. Aplicado al ejemplo anterior sería:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;humano = Humano.new("Pedro")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El parámetro que se encuentra en el paréntesis es una cadena que indica el nombre. Este parámetro es definido por lo que ponemos entre paréntesis en la &lt;span style="font-family:courier new;"&gt;def initialize()&lt;/span&gt;, en la segunda línea del ejemplo anterior. Si hay más de un parámetro se deben poner todos separados por coma.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ya creamos una instancia nueva llamada humano, ahora podemos hacer que ese humano realice todas las funciones que definimos con los métodos, por ejemplo:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;humano.nombre&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;"Pedro"  # Resultado&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;también:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;humano.pensamiento&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;"Sabe pensar bien" # Resultado&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Herencia en las Clases&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Las clases tienen una muy buena particularidad, la herencia simple. Las clases pueden heredar métodos de otras clases, así, definimos una clase madre o "superclse" y una clase hija o "subclase". De la subclase puede obtener todos los métodos de su superclase (el recíproco no es válido), pudiendo la subclase redefinir y agregar métodos normalmente.&lt;br /&gt;&lt;br /&gt;Para hacer que una clase herede otra clase ponemos, usando el ejemplo anterior:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;class Humano &lt;&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Aquí, la clase humano hereda los métodos de la clase &lt;span style="font-family:courier new;"&gt;Ser_Vivo&lt;/span&gt;. Se debe utilizar el símbolo &lt;span style="font-family:courier new;"&gt;&lt;&lt;/span&gt; (menor que). Si se quiere indefinir un método en una subclase se usa la palabra reservada &lt;span style="font-weight: bold;font-family:courier new;" &gt;undef&lt;/span&gt; seguida del nombre del método a eliminar.&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-6572225798961406357?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/6572225798961406357/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/clases-class.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6572225798961406357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6572225798961406357'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/clases-class.html' title='Clases (Class)'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_PtkhTsQefnw/SbBs_XFW13I/AAAAAAAAAFc/tj28IQIHuUw/s72-c/Ejemplo+Clase+Humano.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-5158453210555016514</id><published>2009-03-05T13:53:00.005-03:00</published><updated>2009-03-05T16:43:38.935-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Símbolos'/><title type='text'>Símbolos (Symbols)</title><content type='html'>&lt;div style="text-align: justify;"&gt;Entender los Símbolos en Ruby es bastante fácil si se piensa, por ejemplo, en el número de identidad (Cédula de Identidad Nacional). Este número te identifica, sirve para reconocerte (legalmente) y tiene el mismo significado donde quiera que lo uses y cuanto quiera que cambies, ese número siempre va a aludir a tí. Pero un símbolo en Ruby es simplemente ¡un símbolo! Como una paloma blanca volando, que en todas (o la mayoría) de las zonas de occidente significa PAZ. Eso es un símbolo en Ruby.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Los símbolos se reconocen porque comienzas con dos puntos (&lt;span style="font-family:courier new;"&gt;:&lt;/span&gt;) seguidos inmediatamente del nombre del objeto que simbolizan. Por cada variable de instancia, Clase o método tiene asociado por defecto un símbolo. Por ejemplo, el método &lt;span style="font-family:courier new;"&gt;comer_pan&lt;/span&gt; tiene asociado por defecto el símbolo &lt;span style="font-family:courier new;"&gt;:comer_pan&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Los símbolos hacen referencia a la identidad del objeto (eso importa), no almacenan valores.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Los símbolos permiten ahorrar espacio de memoria bastante grandes ya que, por ejemplo, se puede aludir a una Cadena sin necesidad de que se cree un espacio de memoria separado para la nueva cadena creada, porque por cada cadena nueva (aunque quede con el mismo contenido) se ocupa otro espacio de memoria (se toman como objetos distintos). A su vez, si un nombre de un objeto es un método, variable y clase a la vez, el símbolo creado con ese nombre puede contener los 3 atributos en el mismo.&lt;br /&gt;&lt;br /&gt;Veamos un ejemplo usando símbolos y otro cadenas:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PtkhTsQefnw/SbAVz3mpGnI/AAAAAAAAAFU/fm3hmQExtF8/s1600-h/S%C3%ADmbolos+%28Ejemplo%29.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 364px; height: 200px;" src="http://3.bp.blogspot.com/_PtkhTsQefnw/SbAVz3mpGnI/AAAAAAAAAFU/fm3hmQExtF8/s400/S%C3%ADmbolos+%28Ejemplo%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5309767941513353842" border="0" /&gt;&lt;/a&gt;En las primeras 3 líneas usamos símbolos, en las 3 finales Cadenas. Los resultados son iguales, sin embargo, en las primeras tres lineas no utilizamos espacios de memoria para cada símbolo; en el tres líneas donde se uso cadenas, por cada cadena nueva (dos "Blog" y un "Email") se ocupa un espacio de memoria.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-5158453210555016514?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/5158453210555016514/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/simbolos-symbols.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5158453210555016514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5158453210555016514'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/simbolos-symbols.html' title='Símbolos (Symbols)'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PtkhTsQefnw/SbAVz3mpGnI/AAAAAAAAAFU/fm3hmQExtF8/s72-c/S%C3%ADmbolos+%28Ejemplo%29.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-6076983685587757971</id><published>2009-03-04T22:11:00.001-03:00</published><updated>2009-03-04T22:16:36.650-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hashes'/><title type='text'>Breve introducción al concepto de Hashes</title><content type='html'>&lt;div style="text-align: justify;"&gt;Es una especie de Array con índices y valores relacionados entre sí. A diferencia de un Array, un Hash permite indexar palabras (que serían los índices) con valor. Se les conoce como "diccionarios" debido a su carácter de asociación (palabra, significado).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Un ejemplo de Hash sería:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;hash = {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  'Ruby' =&gt; 'Lenguaje',&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  'Variable' =&gt; 'Dato',&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  'Santiago' =&gt; 'Ciudad'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Los hashes se inician asignándolos como valor a una variable (en el ejemplo la variable es&lt;span style="font-family: courier new;"&gt; hash&lt;/span&gt;). Luego, los pares pueden ir encerrados en llaves (&lt;span style="font-family: courier new;"&gt;{}&lt;/span&gt;) uno al lado del otro separados por comas o también como se muestra en el ejemplo (ver bien la escritura y fijarse en los signos). Para asignarle a una índice (palabra de la izquierda) un valor utilizamos el signo &lt;span style="font-family: courier new;"&gt;=&gt;&lt;/span&gt;. Note que el último elemento antes del &lt;span style="font-family: courier new;"&gt;}&lt;/span&gt; no lleva como al final de su línea. Un valor puede ser un número o una cadena (string).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Para acceder a un elemento del Hash se necesita escribir la variable y entre corchetes escribir el índice (no se puede escribir el valor, arroja &lt;span style="font-family: courier new;"&gt;nil&lt;/span&gt;), ejemplo:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;hash['Ruby']   # Regresa 'Lenguaje'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;hash['Lenguaje']    # Regresa nil&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-6076983685587757971?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/6076983685587757971/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/breve-introduccion-al-concepto-de_04.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6076983685587757971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6076983685587757971'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/breve-introduccion-al-concepto-de_04.html' title='Breve introducción al concepto de Hashes'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-7736124387333548545</id><published>2009-03-04T14:45:00.001-03:00</published><updated>2009-03-04T14:47:34.273-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arrays'/><title type='text'>Métodos para Arrays</title><content type='html'>&lt;div style="text-align: justify;"&gt;Aquí hay una lista de los &lt;span style="font-weight: bold;"&gt;métodos&lt;/span&gt; que se pueden utilizar en un array.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_PtkhTsQefnw/Sa6-jVemQLI/AAAAAAAAAE0/nmAl9YQBIiI/s1600-h/Ejemplo+m%C3%A9todos+de+Arrays.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 275px; height: 400px;" src="http://4.bp.blogspot.com/_PtkhTsQefnw/Sa6-jVemQLI/AAAAAAAAAE0/nmAl9YQBIiI/s400/Ejemplo+m%C3%A9todos+de+Arrays.JPG" alt="" id="BLOGGER_PHOTO_ID_5309390524986572978" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-7736124387333548545?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/7736124387333548545/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/metodos-para-arrays.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/7736124387333548545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/7736124387333548545'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/metodos-para-arrays.html' title='Métodos para Arrays'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_PtkhTsQefnw/Sa6-jVemQLI/AAAAAAAAAE0/nmAl9YQBIiI/s72-c/Ejemplo+m%C3%A9todos+de+Arrays.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-1460634956460194491</id><published>2009-03-04T13:11:00.009-03:00</published><updated>2009-03-04T20:28:22.834-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arrays'/><title type='text'>Arrays (Vectores, Arreglos)</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;Breve introducción al concepto de Array&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Un array es un conjunto de números o palabras ordenados asignados a una variable, siendo el primer elemento el elemento 0, el segundo el elemento 1... así sucesivamente.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;array = [0, 1, 2...]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;Propiedades de los Arrays&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Se puede acceder a ellos por índice&lt;/span&gt; de la siguiente forma:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Nombre_variable_array[0]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El número entre corchetes es el elemento del array al que se quiere accesar y se le conoce como índice.&lt;br /&gt;&lt;br /&gt;Probemos un ejemplo:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PtkhTsQefnw/Sa6rnHgWJPI/AAAAAAAAAEU/khdp2OazopQ/s1600-h/Ejemplo+de+Array+%28%C3%ADndice%29.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 256px; height: 100px;" src="http://3.bp.blogspot.com/_PtkhTsQefnw/Sa6rnHgWJPI/AAAAAAAAAEU/khdp2OazopQ/s400/Ejemplo+de+Array+%28%C3%ADndice%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5309369699234358514" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Los Arrays se pueden unir (concatenar)&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;Ejemplo:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_PtkhTsQefnw/Sa6s0v8CVnI/AAAAAAAAAEc/t_kXAkXDL3M/s1600-h/Ejemplo+de+Array+%28unir%29.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 270px; height: 96px;" src="http://1.bp.blogspot.com/_PtkhTsQefnw/Sa6s0v8CVnI/AAAAAAAAAEc/t_kXAkXDL3M/s400/Ejemplo+de+Array+%28unir%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5309371032937846386" border="0" /&gt;&lt;/a&gt;También&lt;span style="font-weight: bold;"&gt; se pueden repetir determinado número de veces&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;Ejemplo:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_PtkhTsQefnw/Sa6tkGf_riI/AAAAAAAAAEk/B-LZL_wBsps/s1600-h/Ejemplo+de+Array+%28repetir%29.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 312px; height: 73px;" src="http://4.bp.blogspot.com/_PtkhTsQefnw/Sa6tkGf_riI/AAAAAAAAAEk/B-LZL_wBsps/s400/Ejemplo+de+Array+%28repetir%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5309371846448098850" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Se pueden obtener de cadenas y convertir en cadenas con split y join&lt;/span&gt;, respectivamente:&lt;br /&gt;&lt;br /&gt;Ejemplo:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PtkhTsQefnw/Sa6vANFS5fI/AAAAAAAAAEs/4Srv16Eg-UY/s1600-h/Ejemplo+de+Array+%28join,+split%29.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 313px; height: 126px;" src="http://3.bp.blogspot.com/_PtkhTsQefnw/Sa6vANFS5fI/AAAAAAAAAEs/4Srv16Eg-UY/s400/Ejemplo+de+Array+%28join,+split%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5309373428763125234" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-1460634956460194491?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/1460634956460194491/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/arrays-vectores-arreglos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/1460634956460194491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/1460634956460194491'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/arrays-vectores-arreglos.html' title='Arrays (Vectores, Arreglos)'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PtkhTsQefnw/Sa6rnHgWJPI/AAAAAAAAAEU/khdp2OazopQ/s72-c/Ejemplo+de+Array+%28%C3%ADndice%29.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-5485694395561614401</id><published>2009-03-04T12:02:00.005-03:00</published><updated>2009-03-04T13:10:07.187-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cadenas'/><title type='text'>Cadenas (Strings)</title><content type='html'>&lt;div style="text-align: justify;"&gt;Ruby puede utilizar Cadenas como asignación a una Variable. Son generalmente útiles cuando se quiere mostrar al usuario cierto contenido en un idioma específico. Las cadenas se caracterizan por encontrarse entre comillas dobles ("") o simples ('').&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Diferencia entre comillas dobles y simples&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;La diferencia principal es que las comillas dobles permiten la evaluación de cierto contenido no explícito dentro de la cadena. Mientras que las comillas simples regresan como cadena todo lo que hay dentro de ellas. Veamos y expliquemos un ejemplo sencillo:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PtkhTsQefnw/Sa6bTBGuJjI/AAAAAAAAAD8/TXQWhIY12Uc/s1600-h/EjemploStrings1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 138px;" src="http://3.bp.blogspot.com/_PtkhTsQefnw/Sa6bTBGuJjI/AAAAAAAAAD8/TXQWhIY12Uc/s400/EjemploStrings1.JPG" alt="" id="BLOGGER_PHOTO_ID_5309351761732838962" border="0" /&gt;&lt;/a&gt;Aquí, en la línea 2 vemos una variable (a) que tiene asignada la cadena 'Todo Ruby' con comillas simples. En la línea 3 la variables b tiene asignada una cadena con comillas dobles. El elemento &lt;span style="font-family:courier new;"&gt;#{}&lt;/span&gt; permite ingresar a la cadena un comando ajeno que resuelve antes que la cadena. Le estamos diciendo al interprete que ponga la cadena b (línea 4), el resultado es:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Estas visitando Todo Ruby en este momento&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Entonces en&lt;span style="font-family:courier new;"&gt; #{a}&lt;/span&gt; Ruby arroja el valor asignado a la cadena a, es decír Todo Ruby. En la segunda parte (línea 7) le decimos a Ruby que haga lo mismo, pero con comillas simples. El resultado es distinto:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Estas visitando #{a} en este momento&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Veamos otro ejemplo con una operación matemática dentro de &lt;span style="font-family:courier new;"&gt;#{}&lt;/span&gt;:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PtkhTsQefnw/Sa6mNJXmoHI/AAAAAAAAAEE/hRvGZEzvC_g/s1600-h/EjemploStrings2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 357px; height: 58px;" src="http://3.bp.blogspot.com/_PtkhTsQefnw/Sa6mNJXmoHI/AAAAAAAAAEE/hRvGZEzvC_g/s400/EjemploStrings2.JPG" alt="" id="BLOGGER_PHOTO_ID_5309363755499823218" border="0" /&gt;&lt;/a&gt;Aquí Ruby resuelve 2 + 2, lo transforma a cadena y luego pone la cadena completa, el resultado es:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2 + 2, el resultado es 4&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-5485694395561614401?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/5485694395561614401/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/cadenas-strings.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5485694395561614401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5485694395561614401'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/cadenas-strings.html' title='Cadenas (Strings)'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PtkhTsQefnw/Sa6bTBGuJjI/AAAAAAAAAD8/TXQWhIY12Uc/s72-c/EjemploStrings1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-8845631054584739589</id><published>2009-03-04T11:51:00.003-03:00</published><updated>2009-03-04T11:54:47.502-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Palabras_Reservadas'/><title type='text'>Palabras Reservadas en Ruby</title><content type='html'>&lt;div style="text-align: justify;"&gt;En Ruby existen diversas palabras que el interprete las reconoce y ejecuta de manera determinada cuando se encuentra con ellas en el código. Ellas se conocen como "Palabras Reservadas". No es conveniente (aunque se puede) definirlas como variables, ya que se podrían producir errores.&lt;br /&gt;&lt;br /&gt;Anexo una tabla con éstas palabras:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_PtkhTsQefnw/Sa6V6j41btI/AAAAAAAAADs/5X7kIzpQTzI/s1600-h/Tabla+Completa+de+Palabras+Reservadas+%28Parte+1%29.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 333px; height: 400px;" src="http://4.bp.blogspot.com/_PtkhTsQefnw/Sa6V6j41btI/AAAAAAAAADs/5X7kIzpQTzI/s400/Tabla+Completa+de+Palabras+Reservadas+%28Parte+1%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5309345844014968530" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_PtkhTsQefnw/Sa6WCvADirI/AAAAAAAAAD0/hKsPtW7CdQE/s1600-h/Tabla+Completa+de+Palabras+Reservadas+%28Parte+2%29.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 366px;" src="http://2.bp.blogspot.com/_PtkhTsQefnw/Sa6WCvADirI/AAAAAAAAAD0/hKsPtW7CdQE/s400/Tabla+Completa+de+Palabras+Reservadas+%28Parte+2%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5309345984436996786" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-8845631054584739589?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/8845631054584739589/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/palabras-reservadas-en-ruby.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/8845631054584739589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/8845631054584739589'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/palabras-reservadas-en-ruby.html' title='Palabras Reservadas en Ruby'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_PtkhTsQefnw/Sa6V6j41btI/AAAAAAAAADs/5X7kIzpQTzI/s72-c/Tabla+Completa+de+Palabras+Reservadas+%28Parte+1%29.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-6698245998843913111</id><published>2009-03-03T21:49:00.004-03:00</published><updated>2009-03-03T21:55:35.024-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operadores'/><title type='text'>Tablas de Operadores</title><content type='html'>Aquí dejo unas tablas con alguno de los operadores más utilizados:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_PtkhTsQefnw/Sa3Qt5iOGTI/AAAAAAAAADM/Al8Xcb_FGcE/s1600-h/Tabla+Completa+de+Operadores+Num%C3%A9ricos.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 179px;" src="http://1.bp.blogspot.com/_PtkhTsQefnw/Sa3Qt5iOGTI/AAAAAAAAADM/Al8Xcb_FGcE/s400/Tabla+Completa+de+Operadores+Num%C3%A9ricos.JPG" alt="" id="BLOGGER_PHOTO_ID_5309129022696724786" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_PtkhTsQefnw/Sa3RPW8cp5I/AAAAAAAAADU/SvqcLMK_NFY/s1600-h/Tabla+Completa+de+Operadores+de+Comparaci%C3%B3n.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 240px;" src="http://1.bp.blogspot.com/_PtkhTsQefnw/Sa3RPW8cp5I/AAAAAAAAADU/SvqcLMK_NFY/s400/Tabla+Completa+de+Operadores+de+Comparaci%C3%B3n.JPG" alt="" id="BLOGGER_PHOTO_ID_5309129597527041938" border="0" /&gt;&lt;/a&gt;Pronto más tablas de operadores de utilidad.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-6698245998843913111?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/6698245998843913111/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/tablas-de-operadores.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6698245998843913111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/6698245998843913111'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/tablas-de-operadores.html' title='Tablas de Operadores'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_PtkhTsQefnw/Sa3Qt5iOGTI/AAAAAAAAADM/Al8Xcb_FGcE/s72-c/Tabla+Completa+de+Operadores+Num%C3%A9ricos.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-9089431244642903313</id><published>2009-03-03T00:32:00.002-03:00</published><updated>2009-03-03T00:36:17.774-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Constantes'/><title type='text'>Alcance de las Constantes</title><content type='html'>&lt;div style="text-align: justify;"&gt;Si una Constante es definida dentro de una clase puede ser llamada desde otra Clase distinta. Una constante aparentemente funciona como una variable global, pero no es así. Las constantes son definidas con el mismo alcance de la Clase a la que pertenecen y se hacen disponibles para todas las clases hijas, a menos que sean anuladas.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;  Un ejemplo usado es el siguiente:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_PtkhTsQefnw/Saylf6SrXhI/AAAAAAAAACs/rzV27xj5nYs/s1600-h/Lo+de+constantes.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 254px;" src="http://1.bp.blogspot.com/_PtkhTsQefnw/Saylf6SrXhI/AAAAAAAAACs/rzV27xj5nYs/s400/Lo+de+constantes.JPG" alt="" id="BLOGGER_PHOTO_ID_5308800028405095954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Aquí es posible ver que la clase &lt;span style="font-family:courier new;"&gt;OtroPlaneta&lt;/span&gt; tiene su propia definición de &lt;span style="font-family:courier new;"&gt;Pi&lt;/span&gt;, la cual utiliza; sin embargo, podemos notar que, si no utilizamos el alcance de la clase &lt;span style="font-family:courier new;"&gt;OtroPlaneta&lt;/span&gt;, Ruby arroja el valor de &lt;span style="font-family:courier new;"&gt;Pi&lt;/span&gt; que posee la superclase "Object" (superclase de cualquier clase de Ruby).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-9089431244642903313?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/9089431244642903313/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/alcance-de-las-constantes.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/9089431244642903313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/9089431244642903313'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/alcance-de-las-constantes.html' title='Alcance de las Constantes'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_PtkhTsQefnw/Saylf6SrXhI/AAAAAAAAACs/rzV27xj5nYs/s72-c/Lo+de+constantes.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-544709576223438634</id><published>2009-03-03T00:25:00.002-03:00</published><updated>2009-03-03T00:31:58.397-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Constantes'/><title type='text'>Breve introducción al concepto de Constantes</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;"Recomiendo leer antes todo lo que tiene relación con Variables"&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Las Constantes al igual que las Variables se les puede asignar un valor (mediante "="). Su característica primordial es que una vez definidas no pueden ser redefinidas (de ahí su nombre). Un claro ejemplo de ésto es el valor de Pi = 3,1416..., el cuál, donde quiera que sea utilizado debe tener ese valor, por ello conviene que sea definido como Constante.&lt;br /&gt;&lt;br /&gt;   Si el valor de una constante es redefinido Ruby no arroja un error, sino que entrega un aviso que advierte de un posible colapso del programa. Si redefinimos Pi con otro valor, Ruby arroja:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;warning: already initialized constant Pi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   Algunos ejemplos de Constantes son:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Color ; Pi ; Radio_tierra&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   Las constantes se escriben como una variable local, pero SIEMPRE iniciadas con una letra mayúscula.&lt;br /&gt;&lt;br /&gt;   Destaquemos que cuando una clase es definida se nombra empezando con una letra mayúscula, eso es debido a que es una verdadera constante en el programa, ya que permanece en toda la ejecución.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-544709576223438634?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/544709576223438634/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/breve-introduccion-al-concepto-de_03.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/544709576223438634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/544709576223438634'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/breve-introduccion-al-concepto-de_03.html' title='Breve introducción al concepto de Constantes'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-758775076352106951</id><published>2009-03-02T14:42:00.004-03:00</published><updated>2009-03-02T14:52:52.728-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Variables'/><title type='text'>Fin de la sección de Variables</title><content type='html'>&lt;div style="text-align: justify;"&gt;Las variables son muy útiles en Ruby, conviene dominarlas bien ya que permiten ahorrar largas lineas de códigos en los programas evitando la redefinición de conceptos que ya estan definidos. Por ejemplo, si vamos a realizar un programa que nos ayude con la tarea administrativas, es conveniente que conceptos como el IVA o algunos diferentes impuestos sean definidos como variables globales ($iva) ya que representa un valor que va a tener que ser aplicado a muchos objetos y es engorroso tener que definirla cada vez.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;A continuación dejo un resumen de la nomenclatura de las diferentes tipos de variables:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_PtkhTsQefnw/SawcyiolqgI/AAAAAAAAACc/CKDW0CL81h0/s1600-h/Nomenclatura+de+las+Variables.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 65px;" src="http://2.bp.blogspot.com/_PtkhTsQefnw/SawcyiolqgI/AAAAAAAAACc/CKDW0CL81h0/s400/Nomenclatura+de+las+Variables.JPG" alt="" id="BLOGGER_PHOTO_ID_5308649715379055106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-758775076352106951?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/758775076352106951/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/fin-de-la-seccion-de-variables.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/758775076352106951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/758775076352106951'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/fin-de-la-seccion-de-variables.html' title='Fin de la sección de Variables'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_PtkhTsQefnw/SawcyiolqgI/AAAAAAAAACc/CKDW0CL81h0/s72-c/Nomenclatura+de+las+Variables.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-8146953813267968883</id><published>2009-03-02T14:27:00.001-03:00</published><updated>2009-03-02T14:30:47.164-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Variables'/><title type='text'>Variables Locales</title><content type='html'>&lt;div style="text-align: justify;"&gt;El alcance de éstas variables se restringe únicamente al lugar en donde son definidas (alcance local). Por ejemplo, en el ejemplo de las variables de instancia creamos la clase Cuadrado. Allí, una variable local sería longitud_lado, la cuál sólo de puede utilizar dentro del "&lt;span style="font-family: courier new;"&gt;def initialize(longitud_lado)&lt;/span&gt;", no es posible volver a utilizarla en el método que define el area (&lt;span style="font-family: courier new;"&gt;def area&lt;/span&gt;), ya que en ese lugar Ruby no tiene un valor asociado a ella.&lt;br /&gt;&lt;br /&gt;Las variables locales no empiezan con ningún signo especial, sólo deben empezar con una letra minúscula o un guión bajo de la siguiente forma:&lt;br /&gt;&lt;br /&gt;Ejemplo:  &lt;span style="font-family: courier new;"&gt;perro ; _auto_movil_ ; dias ; numero_de_alumnos&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-8146953813267968883?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/8146953813267968883/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/variables-locales.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/8146953813267968883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/8146953813267968883'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/variables-locales.html' title='Variables Locales'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-2849947854855220686</id><published>2009-03-02T14:12:00.003-03:00</published><updated>2009-03-02T14:25:38.552-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Variables'/><title type='text'>Variables de Instancia</title><content type='html'>&lt;div style="text-align: justify;"&gt;Las variables de instancia comienzan con un solo símbolo de arroba (@). Su alcance se limita al objeto donde son definidas, pudiendo así 2 variables de instancia tener el mismo nombre en una misma clase si y sólo si son definidas para objetos distintos. Las variables de instancia sólo pueden ser redefinidas dentro del objeto al que pertenecen, vale decír, que no son públicas.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Ejemplos:  &lt;span style="font-family:courier new;"&gt;@dimensiones ; @fuerza&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Por ejemplo:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PtkhTsQefnw/SawWSmTGfsI/AAAAAAAAACE/GFDgE0rZF34/s1600-h/Cuadrado.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 124px;" src="http://3.bp.blogspot.com/_PtkhTsQefnw/SawWSmTGfsI/AAAAAAAAACE/GFDgE0rZF34/s400/Cuadrado.JPG" alt="" id="BLOGGER_PHOTO_ID_5308642569537093314" border="0" /&gt;&lt;/a&gt;El resultado es: 100&lt;br /&gt;&lt;br /&gt;Generalmante se les usa para asignar atributos a objetos. Se puede tener acceso a ella desde la definición de cualquier método que este dentro del objeto. Son de bastante utilidad y cómodas para trabajar con facilidad las definiciones de los métodos de un objeto.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-2849947854855220686?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/2849947854855220686/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/variables-de-instancia.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/2849947854855220686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/2849947854855220686'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/variables-de-instancia.html' title='Variables de Instancia'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PtkhTsQefnw/SawWSmTGfsI/AAAAAAAAACE/GFDgE0rZF34/s72-c/Cuadrado.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-1779857342397927736</id><published>2009-03-02T14:09:00.000-03:00</published><updated>2009-03-02T14:11:28.503-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Variables'/><title type='text'>Variables de Clase</title><content type='html'>Una variable de clase se define iniciando la variable con doble signo de arroba (@@). Su alcance es en toda la clase en la que son definidas, pero no para objetos específicos.&lt;br /&gt;&lt;br /&gt;Ejemplos:  &lt;span style="font-family: courier new;"&gt;@@color ; @@respiración&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Son útiles para representar y almacenar información relevante para todos los objetos de la clase donde son definidas. Por ejemplo, pueden ser utilizadas para contabilizar todos los objetos creados dentro de una clase:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;class Arbol&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  def initialize&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    if defined?(@@numero_de_objetos)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      @@numero_de_objetos += 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      @@numero_de_objetos = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Aquí, la variable de clase &lt;span style="font-family: courier new;"&gt;@@numero_de_objetos&lt;/span&gt; nos va proporcionando la cantidad de objetos definidos a medida que se van definiendo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-1779857342397927736?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/1779857342397927736/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/variables-de-clase.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/1779857342397927736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/1779857342397927736'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/variables-de-clase.html' title='Variables de Clase'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-4883337850510165374</id><published>2009-03-02T14:04:00.002-03:00</published><updated>2009-03-02T14:07:59.308-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Variables'/><title type='text'>Variables Globales</title><content type='html'>&lt;div style="text-align: justify;"&gt;Una variable global es aquella que puede ser utilizada en cualquier parte del programa, pudiendo también ser redefinida en cualquier lugar. Se caracterizan por comenzar con el símbolo de dolar ($) seguidas de letras minúsculas o un guión bajo (_).&lt;br /&gt;&lt;br /&gt;Ejemplos: &lt;span style="font-family:courier new;"&gt;$x ; $data ; $_x ; $uno1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Una característica importante y útil de las variables globales es que se pueden trazar, vale decír, crear un parámetro que, cada vez que la variable sea redefinida, avise sobre dicho cambio:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;trace_var:$x, proc{print "$x es ahora ", $x, "\n"}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;nil&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$x = 5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$x es ahora 5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$x = 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$x es ahora 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Esto nos dice que $x fue redefinida.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-4883337850510165374?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/4883337850510165374/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/variables-globales.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/4883337850510165374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/4883337850510165374'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/variables-globales.html' title='Variables Globales'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-5219198995653911563</id><published>2009-03-02T13:58:00.002-03:00</published><updated>2009-03-02T14:00:59.430-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Variables'/><title type='text'>Tipos de Variables</title><content type='html'>&lt;div style="text-align: justify;"&gt;En Ruby no es necesario definir el tipo de variable como en otros lenguales (si es numérica o de cadena), dependiendo del valor que se le asigna (con&lt;br /&gt;&lt;br /&gt;el signo de asignación "="), Ruby entiende de qué tipo es y la trabaja de ese modo. Tampoco es necesario anunciarlas antes de definirlas (como en Pascal, por ejemplo). De todas formas, se distinguen cuatro categorías de Variables según su alcance en el programa:&lt;br /&gt;&lt;br /&gt;- Variables Globales&lt;br /&gt;- Variables de Clase&lt;br /&gt;- Variables de Instancia&lt;br /&gt;- Variables Locales&lt;br /&gt;&lt;br /&gt;    Ahora resta definir cada una de ellas para entenderlas bien. También es importante (y se incluye más adelante) la terminología de cada una para que Ruby pueda entenderlas.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-5219198995653911563?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/5219198995653911563/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/tipos-de-variables.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5219198995653911563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5219198995653911563'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/tipos-de-variables.html' title='Tipos de Variables'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-1116289310343089869</id><published>2009-03-02T13:38:00.004-03:00</published><updated>2009-03-02T13:57:38.041-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Variables'/><title type='text'>Breve introducción al concepto de Variables</title><content type='html'>&lt;div style="text-align: justify;"&gt;Las Variables son fundamentales en cualquier lenguaje de programación pues representan un valor o concepto, con el fin de reducir su definición. En cualquier programa sirven para no tener que definir un valor o concepto cada vez que se quiera hacer uso de él (se ahorran bastantes lineas). Pueden ser fácilmente definidas si pensamos en el concepto algebraico:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x = 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En este ejemplo simple, la Variable en cuestión sería "x" y el valor que representa "2". Siempre, el término que va a la izquierda del signo igual es la variable, y el que va a la derecha es el valor que se le asigna. El operador de asignación por excelencia en Ruby es el signo igual (=). Este es un ejemplo bastante simple y es casi innecesario que "x" defina a "2", pero sirve demasiado cuando, por ejemplo, "x" represente a una String (Cadena) que contenga varios elementos, como:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x = "String con bastantes elementos"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Así, cada vez que quieramos que nuestro programa diga: "String con bastantes elementos" ponemos simplemente:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;puts x&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_PtkhTsQefnw/SawPZFTtUTI/AAAAAAAAAB8/Z-rkIATbTNg/s1600-h/Variables+%28Introducci%C3%B3n%29.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 162px;" src="http://4.bp.blogspot.com/_PtkhTsQefnw/SawPZFTtUTI/AAAAAAAAAB8/Z-rkIATbTNg/s320/Variables+%28Introducci%C3%B3n%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5308634984358957362" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Las variables pueden representar Strings y Números, principalmente. Es importante recordar que SIEMPRE UNA VARIABLE DEBE SER DEFINIDA DENTRO DEL PROGRAMA, si Ruby detecta una variable que no sabe que valor representa arroja un error. Otra cosa importante es que las variables tengan un nombre que aluda a la función que realiza para que al leer el programa sea fácil identificar que hace esa variable, por ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;numero_de_alumnos = 23&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt; Así sabemos inmediatamente que esa variable representa al número de alumnos. Esto no es del todo necesario, pero conviene realizarlo para no tener que memorizar tanto código.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;    Destaquemos que las variables que poseen más de una palabra (como &lt;span style="font-family:courier new;"&gt;numero_de_alumnos&lt;/span&gt;) deben ir separadas por un guión bajo (_) y no por un espacio en blanco.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-1116289310343089869?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/1116289310343089869/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/breve-introduccion-al-concepto-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/1116289310343089869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/1116289310343089869'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/breve-introduccion-al-concepto-de.html' title='Breve introducción al concepto de Variables'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_PtkhTsQefnw/SawPZFTtUTI/AAAAAAAAAB8/Z-rkIATbTNg/s72-c/Variables+%28Introducci%C3%B3n%29.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3481566482652933814.post-5580013849001370033</id><published>2009-03-01T23:18:00.004-03:00</published><updated>2009-03-07T00:49:44.129-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby: Lenguaje de Programación orientado a Objetos</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_PtkhTsQefnw/SatEKjfsJ-I/AAAAAAAAABs/eDI3SjAtamY/s1600-h/ruby.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 105px; height: 152px;" src="http://4.bp.blogspot.com/_PtkhTsQefnw/SatEKjfsJ-I/AAAAAAAAABs/eDI3SjAtamY/s320/ruby.gif" alt="" id="BLOGGER_PHOTO_ID_5308411533903800290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ruby, creado por Yukihiro Matsumoto, mezcla lo esencial de lenguajes de programación como Ada, Perl y Smalltalk en un sólo lenguaje. El dinamismo de sus funciones y la facilidad de su lenguaje lo hacen una herramienta potente que otorga elevados estándares de programación.&lt;br /&gt;&lt;br /&gt;Una de sus características más importantes es que no utiliza un lenguaje "oscuro", por el contrario, posee una terminología fácilmente entendible, siempre orientada al Inglés.&lt;br /&gt;&lt;br /&gt;Con ya más de 15 años de historia, Ruby ha resaltado como un lenguaje plenamente Orientado a Objetos (OO), transformando todos sus elementos en objetos, lo que provoca un cambio de paradigma en programadores que no tienen la OO comprendida. En Ruby, todo es un objeto. Se le puede asignar propiedades y acciones a toda información y código.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3481566482652933814-5580013849001370033?l=todoruby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://todoruby.blogspot.com/feeds/5580013849001370033/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://todoruby.blogspot.com/2009/03/ruby-lenguaje-de-programacion-orientado.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5580013849001370033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3481566482652933814/posts/default/5580013849001370033'/><link rel='alternate' type='text/html' href='http://todoruby.blogspot.com/2009/03/ruby-lenguaje-de-programacion-orientado.html' title='Ruby: Lenguaje de Programación orientado a Objetos'/><author><name>Todo Ruby</name><uri>http://www.blogger.com/profile/02698185620518303197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_PtkhTsQefnw/SatEKjfsJ-I/AAAAAAAAABs/eDI3SjAtamY/s72-c/ruby.gif' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
