Friday, August 29, 2014

LED es mi nuevo Hello World - Tiempo de R

Sip...como he dicho antes muchas veces, la aplicación de números LED se ha convertido en mi nuevo Hello World...cada vez que aprendo un nuevo lenguaje de programación trato de construir esto, porque incluye varios comandos que son distintos en cada lenguaje y te hace aprender más mientras intentas construirlo en un lenguaje que no haz usado antes...

Ayer escribí un blog sobre como hacer esto con Haskell...y...aún estoy aprendiendo Haskell...así que pensé..."Es excelente que esté haciendo esto para nuevos lenguajes de programación...pero que pasa con los antiguos?"

De pronto me di cuenta de que nunca había escrito la aplicación utilizandoR...y eso es realmente triste...Me encanta R -:)

En fín...ahí les va -;)

LED.R
line<-c(1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3)
index<-c(0,0,0,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9)
map<-c("  _ ","| | ","|_| ","  ","| ","| ","  _ "," _| ","|_  ",
       " _","_| ","_| ","    ","|_| ","  | ","  _ ","|_  "," _| ",
       "  _ ","|_  ","|_| "," _  "," |  "," |  ","  _ ","|_| ","|_| ",
       "  _ ","|_| "," _| ")

Lines<-cbind(line,index,map)
DF_Lines<-data.frame(Lines,stringsAsFactors=F)

line1<-""
line2<-""
line3<-""

p_number<-readline("Enter a number?: ")
l_number<-strsplit(p_number,"")
for(i in 1:nchar(p_number)){
  num_map<-DF_Lines[DF_Lines$index == as.numeric(l_number[[1]][i]),]
  line1<-paste(line1,num_map$map[1])
  line2<-paste(line2,num_map$map[2])
  line3<-paste(line3,num_map$map[3])
}
lines = paste(line1,"\n",line2,"\n",line3,"\n")
cat(lines)

Miren la figura -;)


Saludos,

Blag.
Development Culture.

No comments: