Thursday, 11 July 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

Scala, java developer, he is capable to give trainings, for this reason he is curious by demand or when he really needs to learn something new.

Email This email address is being protected from spambots. You need JavaScript enabled to view it.

5828 comments

  • Comment Link Alvinsnoma Sunday, 21 January 2018 10:37 posted by Alvinsnoma

    catalogo de pandora abalorios
    pandora disney limited edition charms
    charm pandora taza
    pandora hace black friday
    pandora shop 34209
    pulsera pandora mickey
    charms pandora madre
    pandora outlet manila
    pandora charm estudios
    pulseras viceroy tipo pandora
    pandora disney apple charm
    pandora charm 50th anniversary
    abalorios tipo pandora ebay
    colocar charms pandora
    pandora charms hallmark
    pulsera pandora cierre
    competencia de joyas pandora
    pokemon caja de pandora
    pulsera pandora contra cancer 2015
    pendientes pandora oro rosa
    pandora shop magic kingdom
    charms de pandora outlet
    pandora charm abanico
    abalorios de pandora autenticos
    charm pandora las vegas
    pandora charms corona
    charms pandora catalogo
    pulseras pandora niñas
    anillos pandora princesa
    aliexpress pendientes pandora
    pulseras pandora catalogo
    abalorios pandora comprar
    pulsera pandora clips
    pandora disney dream
    pandora hearts anime online
    anillos de pandora corona
    pandora shop vancouver
    anillos y pendientes de pandora
    charm pandora luna
    separadores para pulsera pandora
    comprar pulseras pandora baratas
    pandora jewelry outlet store orlando
    anillos pandora catalogo precios
    pandora outlet gunwharf
    pulsera pandora love
    charm birrete pandora
    charm pandora descatalogados
    abridor pulsera pandora
    pulsera pandora unique as you are
    pandora shop ebay
    pulsera pandora hilo luminoso
    pandora el corte ingles puerto banus
    catalogo joyas pandora 2013
    l love you pandora charm
    pulseras pandora abiertas
    pandora pendientes mickey
    pandora estore black friday
    pandora disney c
    charm chef pandora
    ebay disney pandora
    pandora disney spring collection
    pandora pulseras el salvador
    charm avion pandora
    accesorios de pandora disney
    charms pandora roma
    pulseras pandora imitacion
    charm piña pandora
    charms pandora disney españa
    pandora el corte ingles pulseras
    mejor pulsera pandora
    pandora outlet charms
    bolas pandora el corte ingles
    pandora charm number 925
    accesorio pulsera pandora
    catalogo pandora pendientes
    joyas pandora pendientes
    combinación anillos de pandora
    pulsera rigida pandora
    pandora charms red
    pandora book charm
    charm rosa pandora
    pandora disney 60
    pulseras pandora 2016
    pulsera pandora donde comprar
    pandora shop edinburgh opening hours
    pandora disney hollywood studios
    joyerias pandora online
    pendientes pandora el corte inglés
    pandora charm gato
    pandora factory outlet
    pandora disney bracelet price
    pendientes pandora azul
    charms pandora delfin
    pandora charms hermana
    anillos de pandora el corte ingles
    pulseras pandora plata ebay
    pandora shop dubai
    charm pandora manzana
    pandora pendientes 2017
    charm pandora scontati 70
    charms pandora ciudades
    abalorios pandora joyeria sanchez
    diseñador de pulseras pandora
    pulsera nueva de pandora
    precio de pulsera pandora
    crear tu pulsera pandora
    charm pandora buho
    amazon pandora charm
    pulseras de pandora para niñas
    pandora pulsera corazon
    pandora bag charm
    precios pulsera pandora
    elementos pulsera pandora
    sorteo pulsera pandora
    replica pulseras pandora
    pendientes de estrella de pandora
    charms pandora profesiones
    pulseras pandora de hombre
    pulsera pandora andorra
    pulseras de pandora charms
    pandora hearts online español
    pulsera pandora contra cancer precio
    pandora charms 14k
    pulsera pandora niña comunion
    el corte ingles charms pandora
    pandora disney winter 2015
    se puede achicar la pulsera pandora
    pandora outlet sevilla
    pulsera roja pandora
    adornos para pulsera pandora
    charm pandora numero 18
    pandora charms romania
    pandora charm maestra
    pandora sister charm
    pandora charms in rose gold
    pandora charms mascotas
    www pandora jewelry online com
    pandora joyas y accesorios
    pandora disney in europe
    pandora outlet klcc
    charm pandora arbol familia
    pulsera pandora abalorios
    como cortar una pulsera pandora
    como hacer una pulsera pandora bonita
    bolas para pulsera pandora
    pulsera pandora alicante
    pulsera pandora san valentin
    charm pandora flamenca
    comprar charm pandora online
    pandora disney fall 2015
    pandora online store
    pulsera oro pandora
    pandora disney dream charm
    pulseras de pandora nueva coleccion
    pandora charms colores
    anillos pandora azul
    abalorios pandora precio
    pandora charms galaxy
    abalorios de plata imitacion pandora
    pandora online black friday
    clips pandora el corte ingles
    abalorios para pandora
    elsa charm pandora
    pulsera de pandora el corte ingles
    pandora hearts manga leer online
    el corte ingles bisuteria pandora
    la caja de pandora ver online
    charm pandora rosas
    where are pandora charms sold
    charms pandora paris
    pandora disney kolekce
    pandora disney princess
    acortar pulsera pandora
    pandora charms 01752
    figuras disney pandora
    pandora pulseras usa
    pandora shop liverpool city centre
    medida de pulsera pandora
    abalorios pulsera pandora
    comprar online pulsera pandora
    pandora radio en españa
    pulseras pandora outlet
    nueva coleccion charms pandora
    charm pandora ancla
    joyas pandora mexico
    pulsera bolas pandora
    pandora shop hereford
    pandora charms 80122
    comprar pandora online españa
    como limpiar pulsera de pandora
    charm pandora venecia
    pandora pulseras 2017
    pulsera pandora rigida o flexible
    charms pandora originales
    pandora disney heart of mickey
    charm pandora de hermanas
    pandora charms deportes
    nuevos charms pandora 2016
    pandora anillos y pendientes
    twitter pandora españa
    charm pandora love
    pulsera pandora promocion
    charm pandora infinito
    abalorios pandora clave de sol
    anillos pandora shop
    ebay abalorios pandora originales
    pandora shop benidorm
    ver online pandora
    bright unique pulseras pandora
    anillos pandora mercado libre
    pandora españa disney 2017
    pandora necklace black friday
    charm pandora baratos
    pandora outlet howell mi
    is pandora doing black friday 2015
    pandora outlet fort myers
    pulsera pandora de corazon
    pulsera pandora jerez
    pandora charms niña
    bola pulsera pandora
    rebajas pandora en el corte ingles
    pandora pulsera broche
    fotos de pulseras pandora
    catalogo precios anillos pandora
    charm cafetera pandora
    pandora outlet oxford
    pandora app españa
    pandora shop canterbury
    genuine pandora charm
    pandora pendientes puestos
    pandora disney bracelet charms
    pulseras de cuero de pandora
    charm sapo pandora
    venta joyas pandora
    compra online pandora
    pulsera pandora tonos azules
    minnie mouse pandora charm
    precio pulsera pandora en el corte ingles
    charm pandora moto
    pulsera pandora abalorios precios
    pulsera navidad pandora
    pandora saga online 2015
    pulseras imitacion pandora plata
    primera tienda pandora en españa
    pandora disney deutschland
    accesorios disney pandora
    pendientes pandora octubre
    joyas pandora monjitas
    montañas colgantes de pandora
    anillos pandora amazon
    abalorios pulsera pandora catalogo
    precio cordon pulsera pandora
    fotos pulseras pandora hechas
    pokemon pandora charm
    relojes pandora el corte ingles
    pulsera plata imitacion pandora
    separadores pandora el corte ingles
    andorra q shop pandora
    pandora disney bella y la bestia
    pendientes pandora ebay
    pandora charms 90048
    anillos pandora talla 58
    charm pandora inglaterra
    imitacion pandora charms
    pulsera pandora 1 clip
    limpiar pulseras pandora
    pulseras de plata de pandora
    pandora disney romania
    pandora charms under $40
    el corte ingles pandora pulseras
    charm pandora contra el cancer
    como limpiar pulsera pandora plata
    pulseras pandora originales mexico
    pandora outlet uk online
    pandora disney beauty and the beast
    magnolia pandora charm
    outlet pandora original
    charms pandora sevilla
    venta abalorios pandora
    pandora amsterdam charm
    pendientes de trebol pandora
    pandora joyas gijon
    libro pandora charm
    pandora shop rugby
    pandora el corte ingles san jose de valderas
    joyas pandora nicaragua
    outlet pandora oficial
    joyeria abalorios pandora
    tallas de la pulsera pandora
    anillos pandora en aliexpress
    pandora disney magic kingdom
    pandora charms 60438
    pulsera pandora niña
    pandora disney oficial
    anillos oro amarillo pandora
    anillos pandora catalogo 2015
    imagenes de pulseras de pandora
    charm pandora playa
    comprar pulsera pandora on line
    charm flamenco pandora

    Report
  • Comment Link Jasonpen Sunday, 21 January 2018 10:35 posted by Jasonpen

    viagra 100mg

    erectile pills

    cialis pills

    generic viagra canada

    cheap viagra online

    best pill ed

    buy cialis online

    generic viagra online pharmacy

    http://secialispenz.com/

    Report
  • Comment Link Jasonpen Sunday, 21 January 2018 10:10 posted by Jasonpen

    online viagra

    best pills ed

    free cialis

    buy generic viagra online

    generic viagra online

    best ed pills online

    cialis pills

    is generic viagra safe

    http://coviagrapeps.com/

    Report
  • Comment Link Jasonpen Sunday, 21 January 2018 09:23 posted by Jasonpen

    viagra pills

    ed pills

    cialis online

    generic viagra online

    pfizer viagra

    ed pills online

    cialis daily

    cheapest generic viagra

    http://secialispenz.com/

    Report
  • Comment Link Fastest Payday Loan Sunday, 21 January 2018 06:11 posted by Fastest Payday Loan

    payday loans online loans money payday loans online no credit check payday loans no credit check same day

    Report
  • Comment Link Hizhausat Sunday, 21 January 2018 05:56 posted by Hizhausat

    generic cialis online
    us cialis pharmacy
    http://gencialismedonlinemrx.com
    cialis online canadian pharmacy
    buy cialis online

    Report
  • Comment Link Jacob Sunday, 21 January 2018 05:22 posted by Jacob

    payday loans
    payday loans no credit check
    payday loans online
    payday loans
    payday loans

    Report
  • Comment Link Jamesneabe Sunday, 21 January 2018 05:00 posted by Jamesneabe

    cash loans online online payday loan application online payday loan instant approval online payday loan instant approval payday loans online direct lenders payday loans online the best online payday loans easy payday loans online online payday advance loan online payday advance loan speedy cash payday loans online paydayloan argument essay illustration essay argument essay help for essay writing

    Report
  • Comment Link dooplapht Sunday, 21 January 2018 05:00 posted by dooplapht

    cheap cialis
    ordering cialis online
    http://gencialismedonlinemrx.com
    buy online cheap cialis generic
    buy generic cialis

    Report
  • Comment Link Samuel Sunday, 21 January 2018 04:02 posted by Samuel

    online casinos 2016
    best us casinos online
    new usa online casinos 2017
    online casinos 2016

    Report

Leave a comment

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

FaLang translation system by Faboba