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/