ruby
El ataque de los clones: Arrays multidimensionales en ruby
Trabajando en mi querido proyecto statsample, en la clase Polychoric me tocó inicializar una matriz de m*n elementos, con todos los valores a 0. Mi primera redacción fue
- nr=3 # numero de filas
- nc=3 # numero de columnas
- matriz=Array.new(nr,Array.new(nc,0)) # => [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
Como era de esperar. Al inicializar el valor de 0,0 pasa algo bastante "interesante"
- matriz[0][0]=2 # => 2
- matriz # => [[2, 0, 0], [2, 0, 0], [2, 0, 0]]
¿¡WTF!? Sencillo, mis amigos. El array en todas las filas es el mismo objeto
- Añadir nuevo comentario
- Leer más
- 764 lecturas
Gemcutter pasa a ser el servidor oficial para las gemas en Ruby
Una de las cosas interesantes de Ruby es su sistema de empaquetamiento de bibliotecas, llamadas gems (gemas), disponibles de forma centralizada en Rubyforge. La idea es hacer para el lenguaje lo que para una distribución de Linux hace su sistema de manejo de paquetes, como los .deb de debian o el emerge de Gentoo.
Si bien existen experiencias similares en otros lenguajes, lo típico es que sólo una de las dimensiones adquiera preponderancia. Por ejemplo, en el caso de Perl, CPAN es el repositorio por defecto, pero no existe un sistema de empaquetado común; para Java, tenemos el sistema de Jar, pero no un repositorio central. Lo más cercano en funcionamiento (en mi experiencia) es el RCRAN de R.
- Añadir nuevo comentario
- Leer más
- 958 lecturas
Lo que hace la impaciencia: graficador de estadísticas de usuarios last.fm en ruby
Debo reconocer que me cae simpático Last.fm. Me gusta la posibilidad de llevar un registro de lo que escucho y ver a quien le gusta música similar a la mía.
Tras leer el artículo Explorando tu historial en Last.fm con LastGraph, me dieron ganas de probar el servicio de LastGraph, pero el servicio está demorando mucho. A las 15:00 de ayer entré en el número 3300 de la lista de espera y a estas alturas voy en el 2200.
Por tanto, razoné que iba a demorar menos en hacer yo un graficador en ruby que en esperar al dichoso invento.
Dicho y hecho. Pongo como adjunto el pequeño programa (lastfm.rb) , el cual se ejecuta como:
ruby lastfm.rb USER [Nº de ARTISTAS]
El número de artistas a graficar está predeterminado a 25. Por ejemplo, si quieren ver el mío
ruby lastfm.rb clbustos
El código es muy chapucero, pero funciona por lo menos. Entre las cosas que se pueden sacar en limpio, tenemos:
- Como acceder al webservice de last.fm
- Como procesar XML con Ruby, a través de REXML
- Como hacer gráficos con gruff
- Como usar sqlite3 con Ruby
- Como asesinar inocentes algoritmos
Requieren las siguientes bibliotecas de ruby:
- sqlite3: Para guardar los datos en una pequeña base de datos y no saturar los servidores de last.fm
- gruff: Para graficar
Si no les gustan los colores, métanse en el código fuente y cambien el algoritmo. Si les quedo bueno, no duden en enviarlo :)
Puse tres ejemplos de la salida del programa: mi cuenta, la de aguayoki y la de Andlynx (más conocido como El Francotirador). Y sí, nuestro amigo es fanático de Laura Pausini :S
- 1 comentario
- Leer más
- 2153 lecturas

Comentarios recientes
hace 1 semana 1 día
hace 1 semana 1 día
hace 1 semana 1 día
hace 2 semanas 6 días
hace 3 semanas 5 días
hace 4 semanas 3 días
hace 4 semanas 6 días
hace 5 semanas 5 horas
hace 5 semanas 10 horas
hace 5 semanas 2 días