lunes, 18 de noviembre de 2013

Scala ... ejemplos sencillos no. 4

Si tuviera que escribir código sería con un lenguaje de programación que tuviera soporte, una comunidad y documentación adecuada.

Ningún lenguaje es perfecto es cierto, Scala puede parecer bastante complejo de aprender en un principio.

Empiezas a conocer Java y la programación orientada a objetos y de repente aparece este lenguaje extraño, que pretende unir dos paradigmas:

  • La programación funcional y
  • La programación orienta a objetos
Al igual que otros lenguajes dependientes de la JVM Scala (Ceylon, Groovy, etc.)tiene el objetivo de tomar lo mejor de Java y olvidarse de lo malo

Lo que llama la atención es que podemos utilizarlo sin necesidad de abandonar Java. Reutilizar código hecho en ese lenguaje en nuevos desarrollos.

1. Crear un menú para realizar operaciones de suma, resta, multiplicación y división:

object Codemonkey extends App{
 
  println("Introduce primer numero: ")
  var num1=readInt
  println("Introduce segundo número:")
  var num2=readInt
 
  while(true){ 
    var opcion=Menu.menu

   opcion match {
   case 1   => println("suma: "+Menu.suma(num1,num2))
   case 2   => println("resta: "+Menu.resta(num1,num2))
   case 3    => println("producto: "+Menu.producto(num1,num2))
   case 4 => println("division: "+Menu.division(num1,num2))
   case 5 => Menu.salida
}
   
   
  }//fin while
 
} //fin CodeMonkey

object Menu{
 
  def menu:Int={
    var opc:Int=0
    println("\tMenu")
    println("1. Suma")
    println("2. Resta")
    println("3. Producto")
    println("4. División")
    println("5. Salir")

   do{
    println("Elije una opción: ")
    opc=readInt()
   }while(opc <0 || opc >5)

    return opc
  }//fin función menu
 
  def suma(n1:Int,n2:Int)={n1+n2}
 
  def resta(n1:Int,n2:Int)={n1-n2}
 
  def producto(n1:Int,n2:Int)={n1*n2}
 
  def division(n1:Int,n2:Int):Double={n1/n2}
 
  def salida={System.exit(0)}
 
}//fin object Menu

Links
http://www.javamexico.org/categorias/lenguajes_jvm/scala
https://github.com/Sergey80/scala-samples
http://scalatutorials.com/

No hay comentarios:

Publicar un comentario