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.

458 comments

  • Comment Link Ralphpurce Lunes, 14 Agosto 2017 19:48 posted by Ralphpurce

    where can i buy cytotec over the counter
    buy cytotec at walmart
    buy cytotec online cheap
    buy cytotec without prescription

    Report
  • Comment Link JamesJib Lunes, 14 Agosto 2017 19:48 posted by JamesJib

    is there a generic equivalent for cialis
    buy generic cialis online with mastercard
    generic cialis online
    when will generic cialis be available

    Report
  • Comment Link CoreyLOW Lunes, 14 Agosto 2017 19:27 posted by CoreyLOW

    low cost viagra
    how much does viagra cost without insurance
    how much does viagra cost per pill
    viagra vs cialis cost

    Report
  • Comment Link IrvingAduro Lunes, 14 Agosto 2017 19:23 posted by IrvingAduro

    amoxicillin to buy
    amoxicillin for humans for sale
    buy amoxicillin for cats
    buy amoxil no prescription

    Report
  • Comment Link EdwardMooth Lunes, 14 Agosto 2017 19:20 posted by EdwardMooth

    legitimate canadian pharmacies
    best online canadian pharmacies
    list of approved canadian pharmacies
    buying from canadian pharmacies

    Report
  • Comment Link DavidSer Domingo, 13 Agosto 2017 18:39 posted by DavidSer

    usa casinos that accept mastercard
    real money online casino games
    sun palace casino bonus
    online casinos for us players
    online casino canada for mac

    Report
  • Comment Link Alvinsnoma Domingo, 13 Agosto 2017 10:32 posted by Alvinsnoma

    comprar ray ban online
    ray ban luxottica
    oakley frogskins
    gafas oakley ferrari
    ray ban new wayfarer men
    ray ban comprar online
    oakley jawbreaker lentes
    lentes marca ray ban
    oakley gafas graduadas
    ray ban nueva coleccion
    gafas oakley jawbreaker
    ray ban aviator graduadas
    gafas ray ban marrones
    oakley radar ev pitch
    gafas oakley polarizadas baratas
    oakley transparentes
    medidas ray ban aviator
    gafas ray ban para ver
    ray ban erika baratas
    gafas oakley mujer 2017
    ray ban clubmaster plata
    ray ban aviator marrones
    ray ban wayfarer 2140
    oakley lentes 2016
    oakley crosslink ferrari
    lentes de sol para mujer ray ban
    gafas de ciclismo oakley
    gafas ray ban aviator 3025
    oakley sliver ferrari
    ray ban hombre modelos
    aviator ray ban espejados
    oakley crankshaft polarized
    gafas oakley para dama
    oakley oil
    lentes aviador ray ban precio
    ray ban modelos 2015
    gafas ray ban ver
    gafas ray ban niña
    ray ban brown
    ray ban purple mirror
    ray ban gafas outlet
    gafas oakley lentes intercambiables
    gafas oakley radar fotocromaticas
    ray ban eyeglasses
    gafas ray ban clubmaster tamaos
    oakley ferrari sunglasses
    lentes oakley juliet
    oakley jawbone livestrong
    gafas oakley dispatch
    oakley baratas
    catalogo de lentes oakley
    ray ban gafas vista
    rebajas oakley
    gafas oakley mujer 2016
    gafas ray ban wayfarer blancas
    oakley flak jacket polarized
    oakley eyepatch 2 polarized
    club master ray ban
    oakley repuestos
    ray ban online
    oakley keel
    precio de anteojos ray ban
    catalogo oakley 2015
    gafas de vista ray ban
    gafas ray ban aviator outlet
    oakley lentes baratas
    oakley eyeglasses
    ofertas gafas de sol ray ban
    gafas de sol ray ban hombre wayfarer
    ray ban bambu
    gafas de sol ray ban clubmaster precio
    lente prizm oakley
    gafas oakley titanium
    oakley pit boss precio
    gafas ray ban pequeñas
    oakley 2016
    ray ban peru
    gafas oakley holbrook baratas
    gafas ray ban para mujer 11883
    wayfarer ray ban 2140
    ray ban nuevo modelo
    lentes solares oakley
    lentes oakley 2016 precios
    oakley frame
    gafas ray ban clubmaster el corte ingles
    oakley badman precio
    lentes ray ban hombre 2015
    ray ban erika azul marinho
    oakley oil rig matte black
    oakley espejo
    ray ban signet
    anteojos ray ban originales
    ray ban erika brown
    gafas oakley dama
    gafas de sol ray ban aviator precio
    oakley half jacket xlj
    ray ban justin brown
    precio de los ray ban
    ray ban icons
    marcos oakley opticos
    gafas ray ban ultimos modelos
    optica ray ban
    ray ban clubmaster carey
    gafas oakley holbrook verdes
    ray ban polarizadas outlet
    fuel cell oakley polarized
    venta de lentes ray ban
    gafas clubmaster ray ban precio
    oakley fernando alonso 2017
    ray bans modelos
    lentes oakley polarized precios
    nuevas ray ban
    clubmaster ray ban espejo
    gafas ray ban clubmaster baratas
    marca oakley gafas
    ray ban aviator morados
    gafas ray ban de sol para mujer
    oakley offshoot polarized
    oakley college
    oakley radarlock fotocromaticas
    ray ban lentes de sol
    ray ban anteojos
    oakley m2 frame
    ray ban png
    lentes ray ban modelo aviator precio
    ray ban rb3447
    ray ban erika aliexpress
    gafas deportivas oakley catalogo
    oakley tienda online
    ray ban rojo espejado
    ray ban new wayfarer 2132
    venta ray ban
    gafas oakley graduadas precios
    modelos gafas ray ban mujer
    oakley radar ev path prizm road
    lentes oakley holbrook precio
    ray ban vision
    oakley jupiter
    gafas oakley con lentes intercambiables
    descuento oakley
    ray ban oro
    ray ban vista
    lentes oakley opticos
    oakley holbrook motogp
    oakley lentes holbrook
    gafas oakley offshoot
    ray ban edicion limitada
    ray ban lentes de sol hombre
    ray ban erika 4171
    lentes oakley frogskins
    ray ban balorama
    gafas ray ban aviator espejo
    gafas graduadas oakley hombre
    ray ban red mirror
    ray ban blanco
    oakley mars
    gafas ray ban wayfarer grandes
    ofertas oakley
    ray ban sunglasses for women
    gafas de sol ray ban hombre
    gafas de sol oakley
    wayfarer ray ban tamaos
    ray ban polarizadas mujer
    ray ban de mujer originales
    ray ban luxottica son originales
    gafas sol oakley hombre
    oakley fotocromaticas
    oakley gascan polished black
    gafas aviador ray ban
    ray ban new wayfarer graduadas
    gafas espejo ray ban
    oakley sport sunglasses
    ray ban aviator vista
    timo ray ban
    ray ban clubmaster precio argentina
    lentes oakley originales precios
    oakley gafas baratas
    lentes de sol ray ban 2015 hombre
    ray ban de colores
    ray ban new wayfarer women
    oakley gafas de ver
    ray ban gafas de mujer
    ray ban store
    ray ban folding aviator
    modelos de gafas ray ban
    oakley sunglasses men
    gafas ray ban hombre 2015
    ray ban espejo rosa
    anteojos ray ban
    oakley gafas precio
    oakley deportivos
    ray ban ultimos modelos
    ray ban clasicos
    oakley crosslink satin black
    ray ban modelos hombre
    oakley minute machine
    gafas ray ban originales
    ray ban clubmaster graduadas
    oakley jawbone vs racing jacket
    oakley madman sunglasses
    ray ban rose gold
    gafas ray ban redondas baratas
    gafas ray ban para mujer 11889
    ray ban piloto
    lentes ray ban de sol para hombres
    precio de los ray ban originales
    oakley glases
    gafas oakley jupiter
    scalpel oakley
    oakley crosslink 8027
    gafas oakley militares
    gafas de sol aviador ray ban mujer
    gafas de sol 2016 ray ban
    ray ban modelos nombres
    lentes de sol ray ban wayfarer
    eyepatch oakley
    ray ban clubmaster imitacion
    ray ban erika azul royal
    gafas oakley polarizadas
    ray ban aviator rb3025
    gafas ray ban wayfarer
    ray ban gafas hombre 8164
    oakley jupiter squared polarized
    oakley gafas de sol venta
    lentes de pasta ray ban
    ray ban glasses price
    ray ban 2140 54mm
    anteojos ray ban 2015
    gafas oakley holbrook julian wilson
    precio ray ban originales
    gafas ray ban hombre 2016
    ray ban glasses vector
    ray ban negras
    oakley pit boss
    ray ban 2016 hombre
    tallas ray ban
    precio ray ban
    lentes ray ban para dama
    ray ban aviator azul degradado
    ray ban azules tornasol
    ray ban justin
    gafas sol oakley polarizadas
    oakley sliver f polarized
    gafas ray ban para bebes
    ray ban womens glasses
    aliexpress ray ban
    ray ban azul claro
    gafas ray ban modelo erika
    ray ban aviador marrones
    ray ban hipster sunglasses
    oakley gafas ciclismo
    gafas ray ban para vista 11876
    gafas de sol ray ban amazon
    oakley jawbreaker aliexpress
    precio ray ban aviator
    ray ban clubmaster
    ray ban wayfarer originales reconocer
    oakley batwolf brown
    ray ban justin hombre
    ray ban oferta un dia
    ray ban aviator azul
    ray ban gafas de sol hombre
    oakley canteen woodgrain
    lentes ray ban 2016 para mujer
    ray ban prices
    gafas de sol tipo ray ban
    ray ban aviator pink
    ray ban verdes wayfarer
    ray ban original
    oakley frogskins vr46
    gafas ray ban clubmaster mujer
    oakley azul
    oakley dispatch 2 jade iridium
    ray ban clubmaster baratas
    oakley holbrook medidas
    ray ban lentes de colores
    precio oakley jawbreaker
    corte ingles ray ban
    gafas oakley radar originales
    oakley glasses online
    gafas ray ban aviator azul
    oakley jawbreaker precio
    gafas ray ban aviator azules
    gafas erika ray ban
    ray ban clubmaster rb3016
    venta de gafas ray ban
    modelos de ray ban aviator
    luxottica ray ban
    gafas de sol ray ban antiguas
    oakley jawbreaker photochromic
    gafas de sol ray ban mujer 2016
    gafas ray ban 2015
    oakley flak jacket
    ray ban clubmaster light ray
    oakley holbrook transformers
    ray ban clubmaster montura
    frogskins oakley
    oakley nieve
    gafas de sol 2015 ray ban
    ray ban aviator clasicas
    oakley frogskins koston
    ray ban aviator azules
    ray ban pasta mujer
    modelos de oakley
    ray ban imitacion madera
    ray ban lentes de ver
    cristales oakley frogskins
    lentes oakley plaintiff
    gafas oakley 2016 hombre
    ray ban gafas hombre 8166
    productos oakley
    gafas ray ban wayfarer plegables
    gafas oakley radar ev pitch
    wayfarer ray ban precio
    ray ban redondas sol
    ray ban dorados
    ray ban wayfarer polarizadas precio
    ray ban liteforce
    ray ban venta
    gafas ray ban antiguas
    gafas ray ban wayfarer mujer
    ray ban rb4147
    gafas ray ban hombre baratas
    ray ban clubmaster w0365
    lentes de sol ray ban mujer 2016
    ray ban round metal folding
    oakley jawbreaker cavendish
    ray ban blue mirror
    lentes oakley juliet ducati
    logo oakley
    lentes oakley crankshaft
    oakley fuel cell polished black / ice iridium polarized
    ray ban aviator colores
    oakley breadbox
    gafas oakley triatlon
    ray ban justin classic
    lentes oftalmicos oakley
    gafas wayfarer ray ban
    lentes para correr oakley
    oakley breadbox polarized
    gafas ray ban 2015 mujer
    ray ban tornasol
    ray ban erika junior
    lentes oakley radarlock
    gafas marca oakley
    oakley catalyst
    ray ban terciopelo
    oakley m frame 2
    gafas sol niña ray ban
    ray ban john lennon

    Report
  • Comment Link MartinBruri Viernes, 11 Agosto 2017 22:15 posted by MartinBruri

    does viagra become generic
    viagra coupons 2017
    how long does viagra 25mg last
    Viagra Coupons
    where do you get viagra in ireland

    Report
  • Comment Link LoganGuelt Viernes, 11 Agosto 2017 18:29 posted by LoganGuelt

    buying cialis in london
    cialis generic
    buy cheap viagra cialis
    buy generic cialis online
    buy cialis with no prescription

    Report
  • Comment Link Sally Viernes, 11 Agosto 2017 15:42 posted by Sally

    tirage de tarot en ligne marie claire tirage des tarots gratuits persan tirage
    tarot marseillais gratuit tarot amour oui non gratuit fiable 123 tirage de tarot de marseille gratuit tirage tarot
    ange amour tirage tarot gratuit ligne tirage du tarot denis lapierre tirage tarot
    gratuit de qualite amour tirage tarot signification tirage tarot de l'amour gratuit en ligne tirage du tarot amour gratuit
    - marie claire chat tarot gratuit tirage tarot de marseille gratuit argent tarot amoureux 2017 tirage tarot reponse par oui ou non cours tarot divinatoire gratuit tarot tirage amour gratuit jeu de tarot a 5 en ligne gratuit
    sans inscription tirage tarot amour en ligne gratuit voyance gratuite en ligne
    avec tarot tirage gratuit de tarot

    Report

Leave a comment

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

FaLang translation system by Faboba