Jueves, 11 Julio 2013 19:34

Resumenes del Libro Scala para impacientes de Cay S. Horstmann

Hola a tod@s, con este artículo empezamos una serie de publicaciones de artículos que presentarán resúmenes del Libro "SCALA for Impatient", como resultado del ciclo de capacitaciones internas realizadas en Genso iniciativas web (poner enlace principal de la pagina web) para la mejora continua de los integrantes, espero que sea de ayuda cada una de las publicaciones que realizaremos, en caso de tener alguna dificultad no duden en consultar.

¿Qué es Scala?
Scala es un moderno lenguaje de programación multi-paradigma diseñado para expresar patrones de programación comunes de una forma concisa, elegante, y de tipado seguro. Integra fácilmente características de lenguajes orientados a objetos y funcionales.

1 Capítulo I.- Información Básica

1.1 Interprete de Scala

Para probar y practicar con algunos ejemplos es necesario instalar SCALA en su ordenador, luego asegurarse de que scala/bin este agregado en el PATH, una vez realizado lo anterior usted debe abrir una pantalla de símbolo del sistema o de comando y sólo escribir la palabra scala, luego pulsar enter, de esta forma ingresa al intérprete de SCALA como se puede ver en la figura Nro. 1

ÿ Inicio/Accesorios/símbolo_del_sistema/

Fig. 1

En la figura 1 puede observar que al ingresar una línea de código el interprete inmediatamente le muestra el tipo de dato y el resultado asignado a una variable por defecto, en el primer ejercicio la variable es res0.

Ejemplos:

scala> 8 * 5 + 9 
scala>  res0 * 0.5
scala> “Hola,  “ + res1
res0: Int = 49
res1:  Double = 24.5
res2: String = Hola, 24.5

Dentro del intérprete puede llamar a algunos métodos tan solo pulsando la tecla TAB, en caso de haber varios el interprete le muestra que métodos puede utilizar, por ejemplo en la variable res2 llamamos al método que convierte a mayúsculas el texto:

scala> res2.toUpperCase
res3: String = HOLA, 24.5

1.1 Declarar Variables

En el intérprete de Scala usted puede declarar sus propias variables por ejemplo:

scala> val respuesta = 10 * 5 + 4
respuesta: Int = 54

Debe tener en cuenta que al declarar una variable con val el resultado que le asigne es constante, es decir; que no puede asignarle un nuevo valor, si lo intenta le saldrá un mensaje de error, ejemplo:

scala> respuesta = 10
< console > :8: error: reassignment to val

Si desea tener una variable que no sea constante, entonces debe declararla como var, por ejemplo:

scala> var prueba = 10 * 7 + 3
prueba: Int = 73
scala> prueba = 4
prueba: Int = 4

Ojo. Si bien puede cambiar el valor de la variable, debe tener cuidado en reasignar por otro valor del mismo tipo.

Al declarar una variable en scala no es necesario que indique que tipo de dato desea agregar, el intérprete induce qué tipo de dato esta agregando. Lo mejor es que usted declare el tipo de dato que intenta asignar, ejemplo:

scala> val saludo: String = "Hola"

Usted puede declarar varias variables a la vez, sólo debe separar las variables usando una coma "," como puede ver en el ejemplo:

scala> val num1, num2, num3 = 10
num1: Int = 10
num2: Int = 10
num3: Int = 10

1.2 Tipos comúnmente usados

Scala tiene tipos de datos que utiliza de forma común como ser: Byte, Chart, Short, Int, Long, Float, Double and Boolean.

El intérprete de scala puede realizar conversiones entre variables primitivas y wrapper sin dificultad. Además se puede modificar un String con con los métodos que tiene la clase StringOps.

Recuerde que scala utiliza métodos no casts para realizar conversiones de números.

1.3 Operadores aritméticos y sobrecarga

Scala utiliza operadores usuales como + - * / % y los operadores de comparación & | ^ >> <<, donde estos operadores son realmente métodos, por ejemplo:

a.method(b) donde su forma abreviada es a method b

El nombre del method puede ser + por ejemplo.

scala> 1.+(10)
res5: Double = 11.0

SCALA permite la sobrecarga de operadores:

contador+=1 que es lo mismo que en java contador++

1.4 Llamadas a funciones y métodos

Para realizar alguna operación se puede importar funciones matemáticas propias de SCALA, por ejemplo:

scala> Import scala.math._

Usted puede usar ._ de la misma forma que utiliza * en java

Para usar los métodos estáticos, pow,sqrt, min,Pi. Semejantes a Java.

Scala no tiene métodos estáticos, pero cada clase tiene un companion object donde sus métodos trabajan de forma similar a un método estático en java, ejemplo:

scala> BigInt.probablePrime(100, scala.util.Random)
res6: scala.math.BigInt = 1036819622350713618865780051451

Los métodos que no presentan parámetros no es necesario utilizar paréntesis.

scala> "Hello".distinct
res7: String = Helo

1.5 El metodo Apply

Este método es parecido al charAt(i) de java y s[i] de C++. Es un método que convierte tipos de datos, donde enseña a la clase como convertirse a un cierto tipo de dato requerido.

Todas las clases tienen su Apply.

Ejemplo:

scala> "Hello"(4)
res8: Char = o
scala> "Hello".apply(4)
res9: Char = o
scala> BigInt("1234567890")
res10: scala.math.BigInt = 1234567890
scala> BigInt.apply("1234567890")
res11: scala.math.BigInt = 1234567890

1.6 Scaladoc

Revisar www.scala-lang.org /api

Fuente: SCALA for the Impatient by Cay S. Horstmann

Artículo elaborado de manera conjunta por: Nataly Nanda Huanca Patzi y Apolinar Linares Flores

Apolinar Linares Flores

Desarrollador en Scala, Java, apto para dar capacitaciones, por lo tanto curioso a fuerza o cuando realmente le interesa aprender algo nuevo.

Email Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

930 comments

  • Comment Link GregLib Jueves, 25 Mayo 2017 22:58 posted by GregLib

    cialis tadalafil 29mg tablets

    canadain cialis

    cilais price

    cuanto cuesta cialis 20 mg

    Report
  • Comment Link GregLib Jueves, 25 Mayo 2017 22:23 posted by GregLib

    cialis y circulacion periferic

    cialis cheap

    generic cialis

    buy discounted cialis

    Report
  • Comment Link AnnLib Jueves, 25 Mayo 2017 21:55 posted by AnnLib

    buy cialis jelly

    http://buycialisfxz.com/ - cialis cheap

    cialis cheap

    cheap online cialis

    Report
  • Comment Link BillieRax Jueves, 25 Mayo 2017 18:28 posted by BillieRax

    Every person may discuss the average trip to function and permit learners to ask questions. Essay Writing In this essay, the pupil could discuss why he seems it is the proper job for him or what he may visualize his morning is likely to be like. christingasner/iStock/Getty Images Consult students to interview anyone who has the job they consider they want later on. You may even desire to assist the pupil find somebody in the neighborhood that has that career. carlosbezz/iStock/Getty Images Let younger learners the chance to role play diverse careers. Tim Eiselt/iStock/Getty Images Students with specific kinds of personalities in many cases are better-suited to specific forms of careers. Like, it might ask whether you want to operate alone or in a gaggle, whether you want being creative or analytical or which kinds of items you worth. It is important to tell individuals why these exams can be enjoyable, but the results are not set in stone.
    book report graphic organizer 5th grade
    custom research papers
    chapter book report

    Report
  • Comment Link KirkLib Jueves, 25 Mayo 2017 16:59 posted by KirkLib

    2 100mg of generic viagra

    buy viagra online

    buy viagra online

    viagra a paris

    Report
  • Comment Link KirkLib Jueves, 25 Mayo 2017 16:28 posted by KirkLib

    can you take advil and viagra

    viagra generic

    buy viagra online

    articles viagra online

    Report
  • Comment Link viagra without a doctor prescription Jueves, 25 Mayo 2017 07:15 posted by viagra without a doctor prescription

    certificate medical education early signs of an sti
    http://viagrawithoutdoctor.org/
    viagra without going to a doctor
    history of venereal disease

    Report
  • Comment Link Edythe Jueves, 25 Mayo 2017 01:03 posted by Edythe

    Hello to every one, the contents existing at this website are genuinely amazing for people experience, well,
    keep up the nice work fellows.

    Report
  • Comment Link VoiceLib Miércoles, 24 Mayo 2017 23:29 posted by VoiceLib

    cialis 20 mg identification

    cialis generic

    cialis online

    low cost 40 mg cialis

    Report
  • Comment Link BillieRax Miércoles, 24 Mayo 2017 21:11 posted by BillieRax

    And, rather surprisingly, one of many more fascinating philosophies of the ancient earth, educated by one "Anaximander" (ca. 550 B.C.), comprised a lot of the fundamental postulates indigenous to the opinions of a certain -- you suspected it -- "Charlie Darwin." For example, Major biology depends upon the lavish miracles of the "Big Bang" and "abiogenesis," and other incredible leaps in one kind of issue to another -- which may have not been seen. Major cosmology (as coached in astronomy programs everywhere) sorts an entire worldview, a way of considering the planet through the lenses of naturalistic, refined change whilst the ultimate reason for anything. Major biology has key tenets -- version, organic selection, micromutation, success of the fittest, etc. Major biology involves values in what can't and also have not been seen - the hidden. 5. 6. (metaphysics), "How do we know what we know?" (philosophical or religious anthropology), "What's right human behavior?" Therefore it looks suitable here in order to complete our answer to the first issue having a term from a recreation usually precious by mathematicians: About The Author Day has created roughly 1.3 gazillion posts and documents, several with really topical, if alternative, opinions. He's been cited before as expressing "What field?" and remains atlarge despite the greatest attempts of the municipal authorities.
    coursework writers
    term paper parts
    essay writing service australia reviews

    Report

Leave a comment

Make sure you enter the (*) required information where indicated. HTML code is not allowed.

FaLang translation system by Faboba